远程登录到 Linux 服务器,经常需要很长时间才能完成任务,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉。可以用 screen 命令解决这个问题。screen 命令可以实现当前窗口与任务分离,即使离线了,服务器仍在后台运行任务。当重新登录服务器,可以读取窗口线程,重新连接任务窗口。只要 screen 本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用,即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。screen 在网络环境不好的地方非常的有用。
- 创建screen会话
screen -S ‘your name’
- 输入命令后会进入screen的界面下
#连接ssh 跑程序,这时候是可以关闭终端的,程序继续在服务器运行
python train.py | tee log.txt
# 运行命令,这里可以不用后面的&,只是程序会把窗口占用
python train.py > test