前言
将程序添加到系统服务里面就可以很方便的启动和关闭程序或者让他自启动,同时还可以不启动gui,减少系统占用。
正文
添加服务需要三个文件,一个是service文件,是让systemd保护进程调用的,另外两个是启动sh文件和关闭sh文件负责启动和关闭程序
service:
[Unit]
Description=qbot //程序介绍
After=netword.target remote-fs.target nss-lookup.target //服务依赖,该服务启动需要等这里的服务
[Service]
Type=forking //程序类型,一般后台程序都用forking
ExecStart=bash /usr/local/api-qbot/qbot_start.sh //启动脚本文件
ExecStop=bash /usr/local/api-qbot/qbot_stop.sh //关闭脚本文件
[Install]
WantedBy=multi-user.target //服务器安装设置,一般不用改
start.sh
#! /bin/bash
cd /usr/local/api-qbot/QBot
nohup ./go-cqhttp > log.txt & echo $! > .pid & //nohup使程序能后台静默运行
cd /usr/local/api-qbot/py
nohup python3 ./QBot.py > log.txt & echo $! > .pid &
stop.sh
#! /bin/bash
kill -15 `cat /usr/local/api-qbot/py/.pid` && rm /usr/local/api-qbot/py/.pid //这里用的使反引号,不是单引号
kill -15 `cat /usr/local/api-qbot/QBot/.pid` && rm /usr/local/api-qbot/QBot/.pid