在我的C程序中,当用户输入为'p'时,我试图暂停execl创建的子进程的状态。我有两个终端用于输入,它是父进程,另一个用于输出,即子进程。我在子进程中有信号处理程序,父进程可以发送它以增加和减少其输出的速度。我试着做了
kill(child_pid,SIGSTOP)
但这只会阻止孩子和父母。
截至目前为了暂停我有signal_handlers保存当前速度然后将速度更改为2147483647秒然后当它们恢复时它将保存的速度恢复。这是合理的吗?(大约68年,我在一段时间内有它)
使用以下代码将输出发送到其他终端。
static state* start_button(void)
{
state *destination;
pid_t pid;
pid = fork();
switch(pid)
{
case -1:
destination = &ready;
break;
case 0:
execl("./outputTerminal",
"outputTerminal",file_number,"/dev/ttys001",NULL);
break;
default:
destination = &going;
break;
}
return destination;
}