如何讓shell腳本被殺後返回0

如何讓shell腳本被殺後返回0

我有一個在分散式環境中運行的預定 shell 腳本。在某些情況下,該進程可能會被其他進程殺死。但即使在失敗/被殺死之後,我也需要進程返回 0。有沒有辦法在bash中實現它?

答案1

取決於訊號。 Bash 允許您使用該trap命令進行捕獲,但如果您的腳本是使用 (9) 終止的SIGKILL,則它是不可中斷且不可捕獲的。

答案2

聽起來這可能是某種看門狗進程的情況,類似於 keepalived 追蹤進程的方式。

最簡單的是,命令 pidof 可能是你的朋友。

相關內容