在Ubuntu上20.04编写一个开机自启动Python脚本的程序

您所在的位置:网站首页 系统开机自启动设置 在Ubuntu上20.04编写一个开机自启动Python脚本的程序

在Ubuntu上20.04编写一个开机自启动Python脚本的程序

2024-04-11 09:58| 来源: 网络整理| 查看: 265

将python程序注册为Ubuntu系统服务,并开机启动的方法。 一、系统环境

操作系统:ubuntu 18.04以后 (该版本已默认使用systemd作为init)

二、步骤

1、在目录/opt/install下

准备python程序 main.py准备sh脚本svc-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的命令

查看所有服务的状态

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 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3