Linux Systemd常见命令以及创建开机自启服务

https://markdowner.net/article/213032749999587328

 

1. 新建service服务

cd /lib/systemd/system
​
#新建service服务
sudo gedit start_run.service  

  

2. 在新建的service服务文件中键入

[Unit]
Description=DownSentry Programme
[Service]
ExecStart=-/usr/local/sbin/xxx.sh
ExecReload=-/usr/local/sbin/xxx.sh
Restart=always
RestartSec=10000ms
[Install]
WantedBy=graphical.target

  

Description:描述,相当于readme.md,内容任意

ExecStart:启动服务时执行的命令

ExecReload:重启服务时执行的命令

Type:启动类型,simple(默认值):ExecStart字段启动的进程为主进程

Restart:on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启服务

RestartSec:重启服务前的等待时间

WantedBy:表示该服务所在的 Target,有以下两种

multi-user.target:多用户命令行状态,不需要执行opencv中imshow或者namedWindow等打开图像界面,同时支持多个用户同时登陆并执行进程的状态;

graphical.target:图形用户状态,需要执行opencv中imshow或者namedWindow等打开图像界面的状态

 

3. 设置开机自启并启动

# 设置开机启动
sudo systemctl enable start_run  
​
# 启动服务
sudo systemctl start start_run 

  

4. 验证是否已启动

# 终端执行
sudo systemctl status start_run

  

5. 服务的修改与重载

sudo systemctl daemon-reload

 

当新添加 unit 配置文件(这里为开机自启动的 service 文件)后,需要执行 daemon-reload 子命令

有 unit 配置文件发生变化时,也需要执行 daemon-reload 子命令

 

上一篇:QT中的多线程


下一篇:PyTorch 介绍 | LEARN THE BASICS