对于子进程,wait()
and waitpid()
函数可用于暂停当前进程的执行,直到子进程退出。但该函数不能用于非子进程。
是否还有另一个函数可以等待任何进程的退出?
没有什么相当于wait()
。通常的做法是使用轮询kill(pid, 0)
并寻找返回值 -1 和errno
of ESRCH
表明该进程已经消失。
Update:从linux内核5.3开始有一个pidfd_opensyscall,它为给定的 pid 创建一个 fd,当 pid 退出时可以轮询该 fd 以获取通知。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)