标签: c process operating-system execv
我在C中编写了一个基本shell,用于执行ls,pwd,...等基本命令 我有一个功能,可以使进程在后台运行,而不是等到它完成后,例如:ls&而不是ls(我有一个包含现在在后台运行的进程的列表) 整个过程就是我想知道进程何时完成,所以我可以从列表中删除它 谢谢
答案 0 :(得分:1)
当子进程终止时,SIGCHLD信号将发送给父进程。具有waitpid标志的WNOHANG函数可用于检查子进程是否已终止或仍在运行。也许,你想要将这两种方法结合起来。
SIGCHLD
waitpid
WNOHANG