如何在服务器把程序代码挂载到后台运行?
把程序代码挂载到服务器的后台运行,这样我们就可以退出终端页面,电脑也可以关机不再运行,但是程序代码会在后台一直运行。
在服务器上将代码挂在后台运行,可以通过以下几种方式实现:
方法一:使用nohup命令 ,这是最常见的方法,能确保程序在关闭终端后继续运行。如下:
nohup python main.py > output.log 2>&1 &
系统会显示如下:
查看运行进程:
ps -ef | grep python
若此时想查看代码的运行情况(比如想看epoch到多少了),可以使用命令 (Ctrl+c关闭):
tail -f output.log
停止运行进程:找到进程号(PID),在这里是13845 然后用 kill
命令结束
kill
方法二,使用screen会话管理器
1.启动一个新会话:
screen -S my_session
2.运行你的程序:
python main.py
3.退出会话但保持运行: 按下 Ctrl + A
,然后按 D
。
4.重新连接会话: 查看会话列表:
screen -ls
重新连接:
screen -r my_session
3.使用&后台运行
直接在命令后加 &
,但如果会话断开,程序可能会被中止。
python main.py > output.log 2>&1 &
4.使用
tmux
(类似于screen
)
1.创建一个新会话:
tmux new -s my_session
2.运行代码:
python main.py
3.分离会话: 按下 Ctrl + B
,然后按 D
。
4.重新连接会话: 查看会话列表:
tmux ls
重新连接:
tmux attach-session -t my_session
推荐方法: 如果你需要长期运行代码且可能重新连接,推荐 screen或者tmux,
更灵活且稳定。如果是简单一次性任务,nohup
就足够了。