0
A
回答
0
我无法重现的行为,你看到:
$ echo 'all: ; @echo sleeping; sleep 600' | make -f-
sleeping
^C
make: *** [/tmp/GmjcnM8Y:1: all] Interrupt
$ ps -aef | grep sleep
的C-C后,睡程序也被杀害。因此,你将不得不提供更多的细节。
相关问题
- 1. 按名称发送信号给进程
- 2. 发送信号给线程
- 3. 发送信号到进程
- 4. 无法发送信号给子进程C
- 5. fork和信号:如何从父进程发送信号到特定子进程
- 6. 发送信号给valgrind里面的进程?
- 7. 转发信号的子进程
- 8. 两个子进程之间发送信号
- 9. 发送字符串到子进程的信号
- 10. 发送和处理带子进程信号的问题C
- 11. 如何“发信号”感兴趣的子进程(没有信号)?
- 12. 信号和子进程
- 13. 发送一个由信号改变的变量给exec在子进程中创建的进程[C]
- 14. 将信号从孩子发送给父母
- 15. 简单的方法只发送信号给直接的孩子?
- 16. 给其他进程的信号
- 17. 在发送ptrace信号后获得僵尸进程
- 18. 如何将信号发送到Perl 6中的进程ID?
- 19. 设计建议:通过HTTP向守护进程发送信号
- 20. 无法发送信号到由PTY.spawn()在Ruby创建的进程
- 21. 忽略发送到我自己的进程组的信号
- 22. C,fork和exec进程,并发送信号
- 23. 无法发送信号到另一个进程perl
- 24. 将SIGHUP信号发送到Perl中的进程中
- 25. 如何向线程发送无信号?
- 26. 从线程发送信号时出错
- 27. 如何从python程序发送信号?
- 28. 发信号给我主线程?
- 29. 发送信息给WPF应用程序
- 30. 发送USR2信号后忽略信号处理程序
我认为问题在于'打包器'和'睡眠'进程必须发送信号,然后disanned并发送到后台。通常在Packer中,如果发送TERM信号,该过程将发出更多关于如何清理所有内容的日志。在Make中,发送TERM后不会再发送输出。 –
对不起,但我不明白你的评论。你的问题说,make不会转发^ C(SIGTERM),但make会转发^ C。如果还有更多事情需要发生,那么你必须自行安排:make不知道它调用的过程实际上做了什么:它只是启动一个过程并等待它完成。如果它得到一个SIGTERM,它会传递给孩子们。请注意,使用进程组就像其他任何UNIX程序一样:如果您运行的进程更改为不同的进程组,则没有办法做到这一点。 – MadScientist