如何知道在后台运行的进程是否完成

时间:2013-11-06 21:45:19

标签: c process operating-system execv

我在C中编写了一个基本shell,用于执行ls,pwd,...等基本命令 我有一个功能,可以使进程在后台运行,而不是等到它完成后,例如:ls&而不是ls(我有一个包含现在在后台运行的进程的列表)
整个过程就是我想知道进程何时完成,所以我可以从列表中删除它 谢谢

1 个答案:

答案 0 :(得分:1)

当子进程终止时,SIGCHLD信号将发送给父进程。具有waitpid标志的WNOHANG函数可用于检查子进程是否已终止或仍在运行。也许,你想要将这两种方法结合起来。