Centos7 .service 如何使服务最后一个退出
时间: 2024-02-27 12:57:58 浏览: 32
在CentOS 7中,可以通过在Systemd服务的unit配置文件中设置`ExecStopPost`指令来实现在服务最后一个退出时执行指定的命令。
`ExecStopPost`指令可以在服务停止之后立即执行指定的命令,而不管服务是正常停止还是非正常停止。通过在`ExecStopPost`指令中执行一些清理或者其他操作,可以确保服务在退出时完成所有必要的操作。
以下是一个示例systemd服务unit文件的片段,其中包含`ExecStopPost`指令:
```
[Unit]
Description=My Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/my-service
ExecStop=/usr/bin/killall my-service
ExecStopPost=/usr/bin/my-cleanup-script
[Install]
WantedBy=multi-user.target
```
在上面的示例中,`ExecStopPost`指令指定了`/usr/bin/my-cleanup-script`脚本,在服务最后一个退出时执行。请注意,`ExecStop`指令与`ExecStopPost`指令的区别在于,`ExecStop`指令只在服务正常停止时执行,而`ExecStopPost`指令则总是执行。
需要注意的是,如果服务是由于系统关机或重启而停止的,`ExecStopPost`指令可能不会执行。因此,如果需要在服务被强制停止时执行一些操作,可以使用`KillMode`指令来配置服务的行为。例如,可以使用`KillMode=process`来配置服务在被强制停止时仅杀死服务进程,并保留`ExecStopPost`指令的执行。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)