使用systemctl作为服务时,如何在Bash脚本中实现优雅退出

4

我在 /etc/systemd/system/ 中设置了一个名为 my_script.service 的服务。接下来我运行了:

sudo systemctl daemon-reload
sudo systemctl start my_script.service
sudo systemctl stop my_script.service

我希望脚本能够“优雅地”退出。
当我在CLI中运行脚本时,如果按ctrl+c停止脚本,会执行“trap ctrl_c INT”的函数。
如何使用systemctl实现相同的功能?
2个回答

4

陷阱既捕捉TERM也捕捉INTTERMINT的非交互式模拟,交互式地按下Ctrl-C将触发INT,而非交互式进程终止通常使用TERM


2
原来我只需要把
trap ctrl_c INT
改为
trap ctrl_c SIGTERM
就可以了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接