Process

殺死父程序和子程序

  • January 4, 2010

我正在執行一個 bash 腳本作為後台作業。bash 腳本呼叫一個耗時的執行檔。如果我沒記錯的話,bash腳本的執行是父程序,而執行檔的執行是子程序。

(1)當我查看top的輸出時,它只顯示了正在執行的執行檔的子程序,沒有顯示正在執行的腳本的父程序。只是想知道為什麼不同時顯示?以及如何顯示兩者?

(2) 我現在想通過殺死作為後台作業的父程序來停止整個執行

kill -9 $(jobs -p)

終端顯示bash腳本的執行被終止。但是執行檔的執行仍然掛在 top 的輸出上。我只是想知道如何殺死父程序和子程序?

感謝致敬!

使用負 PID 殺死程序組。-9除非絕對必要,否則盡量避免。

bash 程序仍應顯示在程序列表中,除了因為在這種情況下它通常不會做任何事情,它可能位於“頂部”列表的最底部。嘗試 ps 或更好的 pstree 來分析您的情況。

引用自:https://serverfault.com/questions/99321