service的创建与使用

基本步骤

  1. 创建service文件
  2. 将service文件迁移至 /etc/systemd/system/
  3. 加载配置
  4. 调用服务

创建service文件

首先创建一个名为 abcd.service的文件(前面的abcd 这个名字随便改,你的服务是什么就改成什么)

[Unit]
Description= ngrok to ssh		#服务的描述信息
After=network.target				#其中network.target代表有网路,network-online.target代表一个连通着的网络。

[Service]
Type=simple
User=root
Restart=1 			# 如果这个服务意外停止,那么就重启
RestartSec=3s
ExecStart=/home/ziop/bin/ngrok  start  --config=/etc/ngrok/ngrok.yml ssh #服务的启动命令,要使用绝对地址
ExecStop=/usr/bin/pkill ngrok

[Install]
WantedBy=multi-user.target

注意

  1. 执行的命令要使用绝对地址
    1. 使用/home/ziop/bin/ngrok 而不是直接使用 ngrok
  2. 在写配置的时候把注释全部去掉

type类型介绍:

Type:定义启动时的进程行为。它有以下几种值。

Type=simple:默认值,执行ExecStart指定的命令,启动主进程

Type=forking:以 fork 方式从父进程创建子进程,创建后父进程会立即退出

Type=oneshot:一次性进程,Systemd 会等当前服务退出,再继续往下执行

Type=dbus:当前服务通过D-Bus启动

Type=notify:当前服务启动完毕,会通知Systemd,再继续往下执行

Type=idle:若有其他任务执行完毕,当前服务才会运行

将service文件迁移至 /etc/systemd/system/

注意一定要使用root用户,要不然没有权限

cp abcd.service /etc/systemd/system/

加载配置

这样加载完之后就可以使用,systemctl工具进行管理该服务了

systemctl daemon-reload

调用服务

#启动abcd
systemctl start abcd
#停止abcd
systemctl stop abcd
#重启abcd
systemctl restart abcd
#如果需要开机启动
systemctl enable abcd
#如果需要取消开机启动
systemctl disable abcd
上一篇 下一篇