我有一个在分布式环境中运行的预定 shell 脚本。在某些情况下,该进程可能会被其他进程终止。但我需要该进程在失败/终止后返回 0。有没有办法在 bash 中实现它?
答案1
取决于信号。Bash 允许您使用命令进行捕获trap
,但如果您的脚本被SIGKILL
(9) 终止,则它是不可中断且不可捕获的。
答案2
这听起来可能是一种类似于 keepalived 跟踪进程的看门狗进程的情况。
最简单的情况下,命令 pidof 可能是您的好朋友。
我有一个在分布式环境中运行的预定 shell 脚本。在某些情况下,该进程可能会被其他进程终止。但我需要该进程在失败/终止后返回 0。有没有办法在 bash 中实现它?
取决于信号。Bash 允许您使用命令进行捕获trap
,但如果您的脚本被SIGKILL
(9) 终止,则它是不可中断且不可捕获的。
这听起来可能是一种类似于 keepalived 跟踪进程的看门狗进程的情况。
最简单的情况下,命令 pidof 可能是您的好朋友。