php重启 本质上是调用

execvp("/usr/local/php/sbin/php-fpm");

execvp就是用一个新的进程把自己替换掉,一个进程一旦调用exec类函数,它本身就"死亡"了,系统把代码段替换成新的程序的代码,废弃原有的数据段和堆栈段,并为新程序分配新的数据段与堆栈段,唯一留下的,就是进程号,也就是说,对系统而言,还是同一个进程,不过已经是另一个程序了。(不过exec类函数中有的还允许继承环境变量之类的信息。1>exec()函数调用并没有生成新进程,一个进程一旦调用exec函数,它本省就“死亡了”--就好比被鬼上身一样,身体还是你的,但灵魂和思想已经被替换了 --系统把代码段替换成新的程序的代码,废弃原有的数据段和堆栈段,并为新程序分配新的数据段与堆栈段,唯一保留的就是进程ID。也就是说,对系统而言,还是同一个进程,不过执行的已经是另外一个程序了

#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h> char command[];
void main()
{
int rtn;
while() {
printf( ">" );
fgets( command, , stdin );
command[strlen(command)-] = ;
execlp( command, NULL );
printf("execute done\n");
perror( command );
exit( errno );
}
}

gcc -o execvp execvp.c

./execvp

>

此时


root@taek:~# ps aux|grep execvp

root      6158  0.0  0.0   4084   692 pts/2    S+   14:58   0:00 ./execvp

root      6160  0.0  0.1  12700  1780 pts/3    S+   14:58   0:00 grep execvp

root@taek:/home/study_c# ./execvp

>./execvp

>

root@taek:~# ps aux|grep execvp

root      6158  0.0  0.0   4084   640 pts/2    S+   14:58   0:00 [execvp]

root      6162  0.0  0.0   3028   264 pts/3    R+   14:58   0:00 grep execvp

会发现执行execvp的进程号没有变

最新文章

  1. Java多线程与并发库高级应用-工具类介绍
  2. 【网络资料】如何优雅地使用Sublime Text3
  3. Poj-2250-Compromise
  4. 简单易用的Rest
  5. Android开发书籍推荐
  6. java学习面向对象之父子构造函数初始化
  7. 【转】C#实现MD5加密
  8. Loadrunner11.00破解方法
  9. sweetalert------一个非常萌的alert!
  10. L2-010 排座位 (25 分) (最短路)
  11. 007_linux显示一个文件的某几行(中间几行)
  12. 最课程学员启示录:这么PL的小姐姐你要不要
  13. Install Greenplum OSS on Ubuntu
  14. 在arcgis使用python脚本进行字段计算时是如何解决中文问题的
  15. PCM转MP3工具的封装
  16. ETL编程模型(场景)
  17. K2 BPM介绍(2)
  18. VS2008:Failed to return new Code Element
  19. MFC 小知识总结二
  20. Python 数据类型:元组

热门文章

  1. java NIO编程(转)
  2. shell中$(( ))、$( )与${ }的区别
  3. mac windows蓝牙问题
  4. iOS的block内存管理
  5. OpenGL ES 光照模型之——环境光照(RenderMonkey测试)
  6. 比较分析 Spring AOP 和 AspectJ 之间的差别
  7. Android-fragment-ListView展示-v4支持包
  8. SMINT:单页网站的免費jQuery插件
  9. Oracle Client 连接 Server 并通过代码测试连接
  10. 打开AVD时报&rdquo;Data partition already in use. Changes will not persist!&rdquo;