使用“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