方法 1: 使用 nohup (最简单, 推荐)
python3 -m venv venv
source venv/bin/activate
使用 nohup 运行, 并将所有打印日志重定向到 run.log 文件中
nohup python3 main.py > run.log 2>&1 &
方法 2: 使用 tmux 或 screen (更优雅, 适合极客)
tmux 是一个终端复用神器, 相当于在服务器上开了一个虚拟显示器. 你关掉 SSH 只是拔掉了显示器的线, 里面的程序还在继续跑.
你可以这样操作:
- 新建一个名为 "code_reader" 的虚拟终端会话
tmux new -s code_reader - 在这个新的终端界面里正常执行你的命令
python3 -m venv venv
source venv/bin/activate
python3 main.py - 剥离 (Detach) 会话:
按下键盘上的 Ctrl + B, 松开后, 再按一下 d
这时你会回到原来的终端, 并且看到提示 [detached (from session code_reader)]
此时你可以安全地关闭 SSH 客户端.
如何恢复界面?
以后你重新连接 SSH 时, 输入以下命令即可回到当时的画面, 就像从未离开过一样:
tmux attach -t code_reader