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