赞
踩
操作系统:ubuntu 18.04以后 (该版本已默认使用systemd作为init)
1、在目录/opt/install下
main.pysvc-test.sh#!/bin/bash
P_HOME=$(cd "$(dirname "$0")";pwd)
echo "P_HOME=$P_HOME"
export PYTHONPATH=/opt/install/xxxxxxx/lib/python3.8/site-packages //python packages
# export PATH=$PATH:
echo "PYTHONPATH=$PYTHONPATH"
cd $P_HOME
cd src
python3 main.py
cd ../
2、添加执行权限
sudo chmod +x /opt/install/main.py
sudo chmod +x /opt/install/svc-test.sh
1、编写注册文件
在 /etc/systemd/system/ 下添加svc-test.service 文件
在svc-test.service文件下复制以下内容
[Unit]
Description=svc-test
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=/usr/bin/bash /opt/install/svc-test.sh // 必须为绝对路径
[Install]
WantedBy=multi-user.target
2、添加执行权限
sudo chmod + x /etc/systemd/system/svc-test.service
3、重载系统服务
sudo systemctl daemon-reload
4、将服务注册为开机启动
sudo systemctl enable svc-test.service
5.重启服务查看相应的服务状态即可看到脚本服务自动启动:
sudo reboot
查看脚本服务状态
sudo systemctl status svc-test
看到以下信息即服务在系统中注册成功并可随系统开机自动启动
# systemctl status svc-test
● svc-test.service - svc-test
Loaded: loaded (/etc/systemd/system/svc-test.service; enabled; vendor preset: enabled)
Active: activating (start) since Thu 2020-01-02 00:42:43 CST; 21min ago
Main PID: 574 (python3)
Tasks: 1 (limit: 4604)
CGroup: /system.slice/svc-test.service
└─574 /usr/bin/python3 /usr/bin/svc-test.py
Jan 02 00:42:43 NanoPi-M4 systemd[1]: Starting svc-test...
查看所有服务的状态
systemctl status
停止服务
systemctl stop svc-test
手工启动服务
systemctl start svc-test
查看单个服务的状态
systemctl status svc-test
禁用开机启动
systemctl disable svc-test.service
参考链接:1.https://www.jianshu.com/p/b75d88e5aa61
2.http://www.manongjc.com/detail/18-cwhjgfrdexqyxof.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。