如何在 Ubuntu 系统上实现开机启动 python脚本

在 Ubuntu 系统上实现开机启动 app.py

本文将指导你如何在 Ubuntu 系统上使用 systemd 实现开机启动 app.py 脚本。

目录

前提条件

  • 你已经在 /root/miniconda3 路径下安装了 Miniconda。
  • app.py 文件位于 /usr/python-pojo/TesPersonWebSocket 目录下,这里用的是我的项目目录,可以根据需要配置成自己的目录文件地址。
  • 你的系统是 Ubuntu。
    conda安装地址
    脚本地址

步骤

创建 systemd 服务文件

  1. 打开终端,创建一个新的 systemd 服务文件:

    sudo nano /etc/systemd/system/tespersonwebsocket.service
    
  2. 在文件中添加以下内容:

  [Unit]
   Description=TesPersonWebSocket Service
   After=network.target

   [Service]
   ExecStart=/root/miniconda3/bin/python /usr/python-pojo/TesPersonWebSocket/app.py
   WorkingDirectory=/usr/python-pojo/TesPersonWebSocket
   StandardOutput=inherit
   StandardError=inherit
   Restart=always
   User=root

   [Install]
   WantedBy=multi-user.target

以上配置项的解释:

  • Description: 服务的描述。
  • After: 指定服务的启动顺序,此处表示在网络服务启动后启动。
  • ExecStart: 指定执行的命令,这里是用 Miniconda 的 Python 解释器运行 app.py
  • WorkingDirectory: 指定工作目录。
  • StandardOutputStandardError: 日志输出方式。
  • Restart: 服务挂掉后的重启策略。
  • User: 运行服务的用户。
  • WantedBy: 指定服务在哪个运行级别下启动,这里是多用户模式。

重新加载 systemd 配置

sudo systemctl daemon-reload

启动服务并设置为开机启动

  1. 启动服务:

    sudo systemctl start tespersonwebsocket.service
    
  2. 检查服务状态,确保它正确启动:

    sudo systemctl status tespersonwebsocket.service
    
  3. 设置服务为开机启动:

    sudo systemctl enable tespersonwebsocket.service
    

验证开机启动

你可以通过重启系统来验证服务是否能在开机时自动启动:

sudo reboot

重启后,你可以再次检查服务状态:

sudo systemctl status tespersonwebsocket.service

额外注意事项

  • 确保你的 app.py 文件具有执行权限。
  • 如果 app.py 需要依赖某些环境变量或其他设置,可以将这些配置添加到服务文件中。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值