Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有这样的代码:
fork(); if child: execvp("sth"); //Just returns if errors if parent: save child pid;
在另一个函数中,我想检查孩子是否完成,我不想使用waitpid. 有没有其他方法可以做到这一点?
waitpid
您可以设置一个信号处理程序来处理 SIGCHLD,它将在子进程结束时传递给父进程。从技术上讲,这是“另一个函数”,即使它是异步调用的。即使在收到信号后你仍然应该使用waitpid,如果你有多个孩子,这是我知道你能够区分他们的唯一方法。