使用“kill”停止某个进程时,是否可以强制执行特定的退出代码?

使用“kill”停止某个进程时,是否可以强制执行特定的退出代码?

使用“kill”停止某个进程时,是否可以强制执行特定的退出代码?

答案1

如果收到任何列出的信号,它将以 42 退出。您可以执行其他操作,包括调用函数等。

#!/bin/bash
trap 'exit 42' SIGINT SIGQUIT SIGTERM

答案2

是的,您已经捕获了使用 trap 命令发送到脚本的终止信号,请参阅 man bash 并查找 trap 命令。

在“捕获”发送到脚本的信号后,您可以以任何您想要的值退出。

答案3

如果您想继续,只需从该接受的答案中进行快速克隆即可:

trap 'true' SIGINT SIGQUIT SIGTERM EXIT
[ $DO_RESTART -eq 1 ] && pkill netdata || true
echo afterwards

相关内容