如何让 shell 脚本在被终止后仍返回 0

如何让 shell 脚本在被终止后仍返回 0

我有一个在分布式环境中运行的预定 shell 脚本。在某些情况下,该进程可能会被其他进程终止。但我需要该进程在失败/终止后返回 0。有没有办法在 bash 中实现它?

答案1

取决于信号。Bash 允许您使用命令进行捕获trap,但如果您的脚本被SIGKILL(9) 终止,则它是不可中断且不可捕获的。

答案2

这听起来可能是一种类似于 keepalived 跟踪进程的看门狗进程的情况。

最简单的情况下,命令 pidof 可能是您的好朋友。

相关内容