在我的shell程序中,我通过Readline从键盘上读取:
rl_bind_keyseq ("\\C-c", readline_func); // ctrl + c
int readline(...){
// handle keyboard controls
}
当我在我的外部循环中时,这是有效的,但是一旦我得到一个很长的命令,例如' wc'在我的子进程中,ctrl + c没有被选中,我在终端中得到了^ C.在我分叉之前定义了击键。
我对杀死这个过程很感兴趣,所以当我跑步的时候,我很高兴看到了wc'并且检测到ctrl + c,我将杀死(pid,sigint)
我的父进程正在通过以下方式等待孩子:
waitpid(pid, &child_status, 0);
我是否能够从孩子内部召唤出来让它停止/暂停?