生成进程链,代码参考unix系统编程
#include <stdio.h>
#include <stdlib.h>int main(int argc,char *argv[])
{
pid_t child_pid;
int i,n;
if(argc != 2)
{
fprintf(stderr,"Usage: %s processes\n",argv[0]);
return 1;
}
n = atoi(argv[1]);
/*
for (i=1;i<n;i++)
{
child_pid = fork();
if(child_pid > 0)
break; //返回值大于0,是父进程,这个返回值是子进程pid
else if (child_pid == 0)
; //返回值=0是子进程
else if (child_pid < 0)
printf ("fork() failed\n");
}
*/
//比原书下面的代码要清晰
//if(child_pid=fork())
if

本文通过示例代码详细解释如何使用Unix的fork()函数生成进程链、进程扇和进程二叉树。通过调整参数,可以观察不同进程结构的生成过程,例如使用fork()函数在不同循环中创建多个子进程,形成复杂的进程关系。通过运行程序并结合`ps -ef`命令观察进程状态,深入理解fork()的工作原理。
最低0.47元/天 解锁文章
836

被折叠的 条评论
为什么被折叠?



