本文主要是介绍systemctl 添加自定义系统服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
以 “启动、停止、重启” boa web server为例:
1. 编写系统服务脚本
编写一个符合系统服务规范的脚本。这个脚本通常描述了服务的启动、停止、重启等行为。你可以使用shell、C、C++、Java等语言来编写这个脚本。
# boa_server_run.sh:#!/bin/bashset -e
cd /etc/boa
# boa服务
RADIAO_WEB_SERVER="boa"case "$1" instart)#run boa web serverchmod 755 $RADIAO_WEB_SERVER./$RADIAO_WEB_SERVER;;stop)echo "Stop ${RADIAO_WEB_SERVER}"killall boa;;restart)$0 stop$0 start;;*)echo "usage: $0 { start | stop | restart }" >&2exit 1;;
esacexit 0
2. 创建服务单元文件
在/etc/systemd/system/目录下,你需要创建一个服务单元文件(通常以.service为后缀)。这个文件描述了服务的元数据和如何启动、停止、重启该服务。
# boa-server.service:[Unit]
Description=Radio Gateway Web Server Service
After=default.target[Service]
Type=forking
Restart=on-failure
ExecStart=/opt/boa_server_run.sh start
ExecStop=/opt/boa_server_run.sh stop[Install]
WantedBy=default.target
[Unit]部分描述了服务的元数据和启动顺序。[Service]部分定义了如何启动服务,以及服务的重启策略。[Install]部分则描述了服务的安装信息。
3. 添加执行权限
如果你的服务脚本没有执行权限,你需要使用chmod命令为它添加执行权限。
sudo chmod 755 boa-server.service
4. 重新加载配置文件
sudo systemctl daemon-reload
5. 启用并启动服务
使用systemctl命令来启用并启动你的自定义服务了。启用服务意味着在系统启动时自动运行它。你可以使用以下命令来启用和启动服务:
sudo systemctl enable boa-server.service
sudo systemctl start boa-server.service
现在,你的自定义服务应该已经成功添加并启动了。你可以使用systemctl status mycustomservice.service命令来查看服务的状态。
测试重启boa-server.servicce:
sudo systemctl restart boa-server.service
这篇关于systemctl 添加自定义系统服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!