当前位置:   article > 正文

如何把python脚本当做LINUX的服务运行_linux 将脚本设定成服务

linux 将脚本设定成服务

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

步骤1

在指定位置创建文件

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

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

步骤2

在.service中输入代码

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

  1. /for example start//
  2. [Unit]
  3. Description=名称
  4. After=network.target
  5. [Service]
  6. Type=forking
  7. ExecStart=/bin/bash -c "脚本路径/run.sh &"
  8. PrivateTmp=true
  9. [Install]
  10. WantedBy=default.target
  11. /for example end//

步骤3

使能并开启服务

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

步骤4

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

 loginctl enable-linger $user(用户名)

注意

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

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

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

比如

  1. 我一次运行7个python脚本,前六个我不看返回,让他后台运行,但是第七个我就要
  2. 让他获得执行后返回结果,那么因为程序一直运行他不能获得返回后结果
  3. 程序服务就可以一直运行,又是一个小细节
  4. bash /路径/run.sh &
  5. bash /路径/run.sh &
  6. bash /路径/run.sh &
  7. bash /路径/run.sh &
  8. bash /路径/run.sh &
  9. bash /路径run.sh &
  10. bash /路径/run.sh

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/72221
推荐阅读
相关标签
  

闽ICP备14008679号