【发布时间】:2021-02-17 13:08:26
【问题描述】:
我想知道是否有办法让父进程使用signal在给定时间内停止他的孩子
例如:
pid_t pid = fork();
if(pid==0){
while(1){
//some code here
}
}else{
// some code to make child process stop for x seconds
}
【问题讨论】:
-
你可能总是武装一个调用
alarm(N)函数的SIGUSR1处理程序来安排一个SIGALRM信号在N秒内传递给调用进程,然后如果你想停止一个调用pause处理以秒为单位的时间......但请注意,当信号由发送方进程提出时,接收方不会立即处理它们,而是按照操作系统执行某些活动的时间进行处理并且可能会引入额外的延迟(与秒相比无论如何都很小)。