5,530
社区成员
发帖
与我相关
我的任务
分享
我给出一个linux下多进程的例子
$ cat fork.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
pid_t childid;
unsigned int i = 0;
for( i = 0; i < 10; ++i )
{
if ( childid = fork() ) //有人知道怎么去掉这里的警告么?
break;
fprintf( stderr, "i: %d process ID: %ld parent ID: %ld child ID: %ld\n",
i, (long)getpid(), (long)getppid(), (long)childid
);
}
return 0;
}
$ g++ -o fk fork.c -Wall
fork.c: In function ‘int main()’:
fork.c:13: warning: suggest parentheses around assignment used as truth value
$ ./fk
i: 0 process ID: 4606 parent ID: 4605 child ID: 0
i: 1 process ID: 4607 parent ID: 4606 child ID: 0
i: 2 process ID: 4608 parent ID: 4607 child ID: 0
i: 3 process ID: 4609 parent ID: 4608 child ID: 0
i: 4 process ID: 4610 parent ID: 4609 child ID: 0
i: 5 process ID: 4611 parent ID: 4610 child ID: 0
i: 6 process ID: 4612 parent ID: 4611 child ID: 0
i: 7 process ID: 4613 parent ID: 4612 child ID: 0
i: 8 process ID: 4614 parent ID: 4613 child ID: 0
i: 9 process ID: 4615 parent ID: 4614 child ID: 0