在我自制的shell中,如果我在前台进程中按'ctrl + z',例如
sleep 40
然后即使按'ctrl + c',我的程序也会停在那里。我想知道如何实现SIGTSTP处理程序,以便在control + z之后它可以返回到主循环以接受下一个命令。
答案 0 :(得分:1)
您的流程无法收到SIGTSTP
,当孩子停止时,您会收到SIGCHLD
。 SIGCHLD
的描述是:
子进程终止,停止或继续
可在http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html和http://pubs.opengroup.org/onlinepubs/9699919799/functions/wait.html
的POSIX文档中找到详细信息