fork()的一个实例

来源:互联网 发布:gta5美女捏脸数据明星 编辑:程序博客网 时间:2024/04/30 01:17

系统调用fork()的一个实例

# vi fork.c
main(void)
{
int pid;
printf("before call fork()n");
        pid=fork();
        printf("after call fork() %dn",pid);
}

# gcc fork.c  

# ./a.out
before call fork()
after call fork() 0
after call fork() 4804
[root@test1 root]# ./a.out
before call fork()
after call fork() 0
after call fork() 4806
[root@test1 root]# ./a.out
before call fork()
after call fork() 0
after call fork() 4808

说明:

1、每次执行,PID都加2,因为有父子两个进程;

2、对pid的唯一要求就是唯一性。
kernel内会保持当前可用pid号的序列,因此一般每次新生成的进程的pid会增加,直到无新的pid号可用,然后kernel会从头再搜索一次可用pid号,并生成新的序列,周期不固定。

原创粉丝点击