Sid*_*osh 4 c linux system-calls
我有分叉过程的pid.现在,从我的c代码(在Linux上运行),我必须定期检查此进程是否仍在运行或终止.我不想像wait()或那样使用阻塞调用waitpid().需要(最好)一个非阻塞系统调用,它只检查这个pid是否仍在运行并返回子状态.
什么是最好和最简单的方法呢?
kill(pid, 0);
Run Code Online (Sandbox Code Playgroud)
如果 PID 存在,这将“成功”(返回 0)。当然,它可能存在,因为原始过程结束并取而代之的是新事物……这取决于您是否重要。
您可能会考虑为 注册一个处理程序SIGCHLD。这将不取决于可以回收的 PID。
| 归档时间: |
|
| 查看次数: |
12707 次 |
| 最近记录: |