监控和管理服务
一旦服务单元文件创建并启用,systemd 将会负责监控您的程序或进程,并在其意外退出时自动重新启动。您可以使用以下命令来管理和监视服务的状态:
- 启动服务:sudo systemctl start your_service_name.service
- 停止服务:sudo systemctl stop your_service_name.service
- 重启服务:sudo systemctl restart your_service_name.service
- 查看服务状态:sudo systemctl status your_service_name.servi
创建步骤:
1. 创建system服务单元文件
在 /etc/systemd/system 目录下创建一个新的服务单元,比如
your_service_name.service,将your_service_name替换为你的程序或脚本的名称。
#进入system目录
cd /etc/systemd/system
sudo vi your_service_name.service
2.编辑服务单元文件
将下面内容复制粘贴到文件中,并根据自己实际情况进行修改:
[Unit]
Description=Your Service Description
After=network.target
[Service]
Type=simple
ExecStart=/path/to/your_program
Restart=always
RestartSec=3
User=your_username
Group=your_groupname
[Install]
WantedBy=multi-user.target
记得/path/to/your_program修改为自己的路径和要执行的程序或脚本名称。
启动服务之前确保程序或脚本有可执行权限,
比如我要启动run.sh,就需要用下面指令给脚本可执行权限
sudo chmod +x run.sh
例子:
开机自启动/home 目录下的run.sh 脚本
[Unit]
Description=My Program Service
After=network.target
[Service]
ExecStart=/home/run.sh
Restart=always
[Install]
WantedBy=multi-user.target
3. 重新加载 systemd 并启用服务
编辑完保存服务单元文件后,执行以下命令使 systemd 重新加载并启用新创建的服务:
sudo systemctl daemon-reload
sudo systemctl enable your_service_name.service
sudo systemctl start your_service_name.service