如何解决在 CentOS 上运行 Python 脚本作为后台任务
我为我的 Python 脚本租了一台 CentOS 7 服务器。我创建了一个 python 脚本,它连接我的电报帐户并将消息转发到目标。我用 Telethon 来做到这一点。 当我通过 ssh 连接到服务器时,我可以运行脚本。当我退出时,我的脚本不起作用。
我使用了 nohup 和 & 但在重新启动或关闭之前仍然无法运行脚本。使用 nohup 注销后,我的脚本运行了一段时间但再次关闭。
我错过了哪些要点?
解决方法
后台进程与用户会话相关,一旦断开连接,该会话就会结束,并且此类进程也会终止。要解决您的问题,您需要创建一个独立运行的服务。特别是需要先创建一个服务配置文件:
[Unit]
Description=My Python program
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=centos
ExecStart=<command to start your program>
[Install]
WantedBy=multi-user.target
你用来执行程序的命令在哪里。
此文件需要保存在 /etc/systemd/system/
使程序在系统重启时启动:
sudo systemctl enable <my_service>.service
手动启动程序:
sudo systemctl start <my_service>.service
这应该可以解决您的问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。