0
如何在linux shell中創建一個不被Ctrl-C殺死的殭屍進程,並在死亡之前創建自己的副本?如果可能的話,我們將如何殺死這樣一個過程?如何在linux shell中創建一個未被Ctrl-C殺死的殭屍進程?
如何在linux shell中創建一個不被Ctrl-C殺死的殭屍進程,並在死亡之前創建自己的副本?如果可能的話,我們將如何殺死這樣一個過程?如何在linux shell中創建一個未被Ctrl-C殺死的殭屍進程?
根據定義,殭屍進程已經死亡。它不會消耗任何超出流程表中條目的資源。產生它的過程要麼忽略了wait
的記帳,要麼在fork
之前忽略SIGCHLD
。由於它已經退出,kill
對殭屍進程沒有影響(也不會影響kill -9
)。當它的父母調用waitpid()
或退出時,將從進程表中刪除只有或退出。
如果你只是想你的腳本忽略按Ctrl - ç或kill
,使用trap "code" SIGNALS
:
#!/bin/bash
trap "echo Not dead yet!" SIGINT SIGTERM
echo "Kill me with kill -9 $$"
while true; do sleep 1; done
什麼是你的使用情況? – 2015-02-11 17:10:48
只要處理SIGINT(默認處理程序就是殺死進程)。你可以用'kill -9'來殺死它,意思是「[從軌道上運行](https://www.youtube.com/watch?v=aCbfMkh940Q)」。 – 2015-02-11 17:12:53