如何把python脚本当做LINUX的服务运行

在很多应用场景下,需要在Linux掉电重启的时候自动重启python脚本,还不能解锁屏幕。那么就只好将python程序当做服务去运行

步骤1

在指定位置创建文件

cd /etc/systemd/user/
sudo vim 服务名称.service

进入用户文件夹去创建,没有vim就用vi是一样的。之所以不在系统文件夹下创建是因为想让创建的服务是用户服务,这样我们可以通过进程监视进行运行控制。

步骤2

在.service中输入代码

ExecStart是脚本的执行路径,后面的&是后台运行脚本,避免出现python循环导致开机失败

/for example start//
[Unit]
Description=名称
After=network.target

[Service]
Type=forking
ExecStart=/bin/bash -c "脚本路径/run.sh &"
PrivateTmp=true

[Install]
WantedBy=default.target

/for example end//

步骤3

使能并开启服务

systemctl --user enable 服务名称.service 
 systemctl --user start 服务名称.service 

步骤4

运行用户服务命令,保证用户不登录时也会运行服务

 loginctl enable-linger $user(用户名)

注意

1有时候脚本文件写完不执行,报错,先看看脚本是不是bash

修改默认bash运行
执行ls -l /bin/sh命令,若得到结果/bin/sh -> dash,则说明Shell的解释器为dash。
执行sudo dpkg-reconfigure dash命令,然后选择no。

2服务的运行需要确保python这个程序在运行的时候是不会停止的,如果python运行结束了,那么服务也就结束啦。

比如

我一次运行7个python脚本,前六个我不看返回,让他后台运行,但是第七个我就要
让他获得执行后返回结果,那么因为程序一直运行他不能获得返回后结果
程序服务就可以一直运行,又是一个小细节

bash /路径/run.sh & 
bash  /路径/run.sh & 
bash /路径/run.sh &
bash  /路径/run.sh &
bash  /路径/run.sh &
bash  /路径run.sh &
bash  /路径/run.sh 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值