我得到了进程的PID,需要使用C语言中的POSIX系统调用来检查它是否为僵尸进程。我该怎么做?
我的问题是,我有一个进程,它会分叉出许多子进程,这些子进程都会执行execs操作,有时我想在后台执行execs操作,所以我不能真正地等待在后台运行的子进程。我可以定期地(在主循环中)调用wait()函数,但是我需要知道哪些进程是僵尸进程,这样我的父进程就不会一直等待那些不会很快结束的子进程而挂起。
如果您感兴趣,我正在构建一个Unix shell,它的性质是要使子进程异步执行。
我的问题是,我有一个进程,它会分叉出许多子进程,这些子进程都会执行execs操作,有时我想在后台执行execs操作,所以我不能真正地等待在后台运行的子进程。我可以定期地(在主循环中)调用wait()函数,但是我需要知道哪些进程是僵尸进程,这样我的父进程就不会一直等待那些不会很快结束的子进程而挂起。
如果您感兴趣,我正在构建一个Unix shell,它的性质是要使子进程异步执行。