第五章 系统服务(Systemd):以start_run.service为例

终端操作:

    ▪ 开机启动:$ sudo systemctl enable start_run
    ▪ 启动服务:$ sudo systemctl start start_run
    ▪ 停止服务:$ sudo systemctl stop start_run.service(没必要使用喔咕)
    ▪ 重启服务:$ sudo systemctl restart start_run.service

配置文件:

[Unit] 区块:启动顺序与依赖关系
Description:相当于readme.md
Documentation:后加文档位置

[Service] 区块:启动行为
EnvironmentFile:指定当前服务的环境参数文件(eg.Environment = XAUTHORITY=/home/ubuntu/.Xauthority)

(the following are the most important)
ExecStart:定义启动进程时执行的命令。
ExecReload:重启服务时执行的命令
ExecStop:停止服务时执行的命令
ExecStartPre:启动服务之前执行的命令

Type:启动类型
(simple(默认值):ExecStart字段启动的进程为主进程)
(idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合)

Restart:
on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启
always:不管是什么退出原因,总是重启
on-abort:只有在收到没有捕捉到的信号终止时,才会重启
on-watchdog:超时退出,才会重启
[Install] 区块:定义如何安装这个配置文件
WantedBy字段:表示该服务所在的 Target
multi-user.target:多用户命令行状态
graphical.target:图形用户状态

**

实现实例:

**
新建service文件:

cd /usr/lib/systemd/system
gedit start_run.service  #新建service文件

在新建的service文件中键入:

[Unit]
Description=start_run Programme
 
[Service]
ExecStart=-./rm2020
ExecReload=-./rm2020
Type=simple
Restart=on-failure
RestartSec=42ms
 
[Install]
WantedBy=multi-user.target

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

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

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

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

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

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

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

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

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

注意:[Service]中ExecStart=-./rm2020里的‘-’表示即使./rm2020不存在也不抛出错误

设置开机启动并启动服务(下面的start_run可以换成你自己的服务名称):

sudo systemctl enable start_run  #设置开机启动
sudo systemctl start start_run  #启动服务
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值