首页 > 代码库 > Unix/Linux编程实践教程

Unix/Linux编程实践教程

execvp在程序中启动新程序:

技术分享

用fork创建新进程:

技术分享

技术分享

技术分享

 

forkdemo2代码:

技术分享

测试fork的时候参考《Linux权威指南》阅读笔记(3)  使用了patch

[root@localhost programming]# diff -c forkdemo2.c forkdemo2_new.c > forkdemo2.patch[root@localhost programming]# patch < forkdemo2.patch patching file forkdemo2.c[root@localhost programming]# ls -lrttotal 7-rwxrwxrwx 1 root root 4953 Sep  6 11:05 forkdemo2-rwxrwxrwx 1 root root 4957 Sep  6 11:14 forkdemo2_new-rwxrwxrwx 1 root root  119 Sep  6 11:17 forkdemo2_new.c-rwxrwxrwx 1 root root  263 Sep  6 11:24 forkdemo2.patch-rwxrwxrwx 1 root root  119 Sep  6 11:24 forkdemo2.c[root@localhost programming]# 

这个forkdemo2输出的pid个数也挺有意思,最好从最底层往上算。

 

怎么判断是父进程还是子进程:在父进程中fork()的返回值是子进程的pid,在子进程中是0。

 

Unix/Linux编程实践教程