如何使用键盘暂停/杀死孩子的进程?

时间:2016-11-06 01:28:55

标签: c readline

在我的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);

我是否能够从孩子内部召唤出来让它停止/暂停?

0 个答案:

没有答案