【发布时间】:2022-01-06 23:09:17
【问题描述】:
除了理论之外,几乎不知道信号是如何工作的。我正在编写一个程序,需要子进程启动,暂停,等待父进程发送信号,然后父进程运行它的代码部分,发送信号,等待子进程完成,然后孩子继续并继续过去 pause();并完成,以便父母可以继续,因此它也可以完成。 我尝试过 kill(c_pid, SIGCONT),但程序只是挂起,因为子进程永远不会取消暂停,并且父进程正在等待子进程完成。 我是否需要放置一个 void 函数来检查信号,在 pause() 之前写一个人; ?
【问题讨论】:
-
我对“等待父进程启动”感到困惑 - 除了按定义必须已经运行的父进程之外,是什么启动了这个“子”进程?还是您的意思是“等待父进程恢复”?
-
@WhozCraig 我的错,我的意思是等待父进程发送信号以使其恢复。我已经编辑了帖子以更好地措辞。
标签: c forms signals kill pause