配置步骤:
- 创建一个服务文件,例如:/etc/systems/system/myproject.service
[Unit]
Description=My Python Project
After=network.target
[Service]
User=your_user
WorkingDirectory=/path/to/your/project
ExecStart=/usr/bin/python /path/to/your_script.py
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start myproject
sudo systemctl enable myproject
sudo systemctl status myproject
"""
nohup:确保进程不会因为终端关闭而终止
> output.log:将标准输出重定向到 output.log 文件
2>&1:将错误输出(stderr)也重定向到标准输出(stdout)
&:将进程放入后台运行
"""
nohup python your_script.py > output.log 2>&1 &
ps aux | grep your_script.py
kill <PID>
pip install supervisor
[program:myproject]
command=python /path/to/your_script.py
directory=/path/to/your/project
autostart=true
autorestart=true
stderr_logfile=/var/log/myproject.err.log
stdout_logfile=/var/log/myproject.out.log
supervisord -c /path/to/supervisord.conf
supervisorctl status
supervisorctl start myproject
supervisorctl stop myproject
FROM python:3.9
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "your_script.py"]
docker build -t myproject .
docker run -d --name myproject_container myproject
docker logs myproject_container
使用 screen:
- 启动一个新的 screen 会话
screen -S mysession
python your_script.py
screen -r mysession
使用 tmux:
- 启动一个新的 tmux 会话
tmux new -s mysession
python your_script.py
tmux attach -t mysession