我有两个过程。我从控制台(bash)产生了第一个进程。第一个过程是实习生成第二个过程。第二个过程是从文件读取,直到它从用户获得SIGINT或SIGTERM信号。但是当我按下ctrl + c时,bash程序正在传递 第一个进程的信号,所以它被杀死了,我的应用程序崩溃了,因为我没有在那里处理它。
所以我的问题是如何强制bash程序将信号传递给第二个进程?
感谢。
答案 0 :(得分:1)
此bash不生成信号,tty生成信号到活动进程。将子进程设置为活动状态(使用tcsetpgrp
),以便它将从tty接收信号。
在此之前,请阅读有关tty如何运作的文章。