【发布时间】:2020-09-11 15:24:09
【问题描述】:
我是 C 和流程的新手,如果我的问题听起来很愚蠢,我很抱歉。以下是我的代码:
int main()
{
pid_t pid;
if ((pid = fork()) == 0){
pause();
printf("child process restarts!\n");
exit(0);
}
kill(pid, SIGCONT);
exit(0);
}
所以在父进程中,我确实向子进程发送了SIGCONT,所以被pause 挂起的子进程应该恢复,但是我没有看到任何输出,这意味着子进程没有重新启动?那么如何恢复子进程呢?
【问题讨论】:
-
pause函数有什么作用? -
from man:“pause() 导致调用进程(或线程)休眠,直到发出终止进程或导致调用信号捕获函数的信号。”。我认为
SIGCONT没有默认的信号捕获功能 -
这能回答你的问题吗? -SIGCONT does not continue paused process?