linux成为init子进程,Linux fork创建子进程

1.  pid_t fork(void);

功能:创建父子进程

参数:无

返回值:成功:在父进程中:返回值为子进程的PID

在子进程中:返回值为0

失败:-1

注意:

1)fork函数是用来创建进程的,fork之后产生了两个进程,每个进程都会有返回值,

所以父进程中返回的是子进程的进程号(>0);在子进程中返回0

2)子进程几乎拷贝了父进程的全部内容。

包括代码、数据、系统数据段中的pc值、栈中的数据、父进程中打开的文件等;但它们的PID、PPID是不同的。

3)父子进程有独立的地址空间,互不影响;当在相应的进程中改变全局变量静态变量,都互不影响。

4)若父进程先结束,子进程成为孤儿进程被init进程收养(此时子进程的父亲就是init),子进程变成后台进程。(init进程号为1)

5)若子进程先结束,父进程如果没有及时回收,子进程变成僵尸进程(要避免僵尸进程产生)

2.   pid_t getpid(void);

功能:得到正在调用此接口的进程的进程号

返回值:得到PID号

3.   pid_t getppid(void);

功能:得到正在调用此接口的进程的父进程号

返回值:得到PID

4.  pid_t wait(int *status)  头文件  

功能:阻塞等待任意子进程的结束,回收资源

status是一个整型指针,指向的对

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值