当前位置: 技术问答>linux和unix
请教:子进程关闭
来源: 互联网 发布时间:2016-09-26
本文导语: 本帖最后由 sfd1234 于 2010-09-09 11:14:58 编辑 我在程序运行时vfork了一个子进程,希望在满足一定条件时关闭这个子进程,如何做?vfork的时候获得这个子进程的pid为0,这个应该不能作为结束这个子进程的pid吧? 谢谢! ...
谢谢!
|
对于父进程而言,vfork()的返回值就是那个子进程的pid
可以使用kill(pid, SIGKILL)杀死子进程
可以使用kill(pid, SIGKILL)杀死子进程
|
楼上的已经把该说的都说了 ...
其实,满足条件后由父进程通知子进程自己退出比较好
能确保子进程处理的完整性~(例如socket、db的关闭等等)
|
vfork 返回 小于0 为fork错误
等于0 为子进程处理
大于0 为父进程处理(此处的返回值即为子进程的pid)
等于0 为子进程处理
大于0 为父进程处理(此处的返回值即为子进程的pid)
|
vfork()属于一次调用,两次返回(一次是在父进程中,一次是在子进程中)。。
对于父进程而已,返回值是子进程pid;
对于子进程而已,返回值是0;
对于父进程而已,返回值是子进程pid;
对于子进程而已,返回值是0;