如何编写sigtstp处理程序,在ctrl + z之后回到我自己实现的shell中的主循环?

时间:2015-09-24 23:27:50

标签: c linux shell unix signals

在我自制的shell中,如果我在前台进程中按'ctrl + z',例如

sleep 40

然后即使按'ctrl + c',我的程序也会停在那里。我想知道如何实现SIGTSTP处理程序,以便在control + z之后它可以返回到主循环以接受下一个命令。

1 个答案:

答案 0 :(得分:1)

您的流程无法收到SIGTSTP,当孩子停止时,您会收到SIGCHLDSIGCHLD的描述是:

  

子进程终止,停止或继续

可在http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.htmlhttp://pubs.opengroup.org/onlinepubs/9699919799/functions/wait.html

的POSIX文档中找到详细信息