开机自启

Catalogue
  1. 1. 系统服务
    1. 1.1. 系统服务文件
    2. 1.2. 添加系统服务
  2. 2. bash脚本
    1. 2.1. 单次执行
    2. 2.2. 循环执行(避免崩溃后无运行程序)
  3. 3. 其他操作

本方法采用系统服务调用自定义脚本实现灵活控制,开启\关闭\查看状态等

系统服务

系统服务文件

服务配置文件,基本照搬,仅需要修改描述和执行文件的绝对路径

  • Description 服务描述
  • After 启动次序位于syslog系统日志之后
  • ExecuteStart 执行文件绝对地址
  • SuccessExistStatus 成功退出代码
  • WantedBy 使用用户
1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Prometheus
After=syslog.target

[Service]
ExecStart=/home/rps/Projects/start.sh
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

添加系统服务

路径为绝对路径+服务配置文件

1
sudo systemctl enable </absolute path/ServiceName.service>

bash脚本

通过服务执行脚本进行灵活切换执行内容

单次执行

1
2
3
4
5
#!/bin/bash
cd /home/rps/Projects # 需要采用绝对路径
echo Start Program. # 输出开始信息
./Prometheus
echo Program End. # 输出结束信息

循环执行(避免崩溃后无运行程序)

1
2
3
4
5
6
7
8
#!/bin/bash
cd /home/rps/Projects # 需要采用绝对路径
while : # 循环执行崩溃重启
do
echo Start Program. # 输出开始信息
./Prometheus
echo Program End. # 输出结束信息
done

其他操作

  • 查看当前服务状态
1
systemctl status <Service Name>
  • 解除服务
1
sudo systemctl disable <service name>
  • 开启服务
1
sudo systemctl start <service name>
  • 重启服务
1
sudo systemctl restart <service name>