赞
踩
现在我来详细讲解 Python程序后台运行的五种方式 的完整攻略。
nohup是一个常用的命令,可在远程服务器上运行命令行应用程序,并将输出重定向到文件nohup.out中。您可以使用以下命令将Python脚本在后台执行,无论是否注销SSH连接:
nohup python script.py &
使用“&”符号在后台运行脚本,执行此命令后,控制台将返回进程号,并且您可以随时查看nohup.out文件来检查输出。
使用screen命令可以在后台运行多个命令行会话,并且甚至可以在SSH连接断开后保持会话。可以使用以下命令来运行Python脚本:
screen -S mysession
python script.py
这将创建名为“mysession”的新会话,并在其中启动Python脚本。按“Ctrl + A + D”键组合来断开会话,返回到控制台或另一个屏幕会话。
Systemd是Linux系统的一个初始化系统,并提供了一种方便的方法来启动、停止和管理系统服务。您可以使用以下过程在systemd服务中运行Python脚本:
[Unit]
Description=My Python Script
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/python3 /path/to/script.py
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start myscript
sudo systemctl status myscript
Celery是Python中一个流行的任务队列实现,使多进程执行变得简单。您可以使用以下过程在Celery任务队列中运行Python脚本:
pip install celery
from celery import Celery
app = Celery('task', backend='rpc://', broker='amqp://localhost')
@app.task
def mytask():
# 任务逻辑
celery -A tasks worker
from tasks import mytask
mytask.delay()
Supervisord是一个进程控制系统,帮助您以可靠的方式启动、停止和重启应用程序。可以使用以下过程在supervisord中运行Python脚本:
pip install supervisor
[program:myscript]
command=/usr/bin/python /path/to/script.py
autostart=true
autorestart=true
stderr_logfile=/var/log/myscript.err.log
stdout_logfile=/var/log/myscript.out.log
user=username
其中,program是程序名称,command是要执行的命令,autostart和autorestart指定程序启动和重启的设置,stderr_logfile和stdout_logfile指定错误和输出日志的位置。
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start myscript
以上就是我讲解“Python脚本后台运行的五种方式”的完整攻略,希望对您有所帮助。
点击下方安全链接前往获取
CSDN大礼包:《Python入门&进阶学习资源包》免费分享
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。