问题:
在运行命令的过程中,有时候会遇到无法判断运行时间的长短、突然断网以及不方便挂在后台等情况。这些情况都会导致任务中断,而screen命令能够很好的解决这一问题。利用ssh远程登录终端时,screen命令能够保证命令不因远程窗口的关闭而中断。
Screen命令:
在运行命令前,可以新建一个screen窗口,即创建一个虚拟终端,然后在该窗口里进行操作。后续因网络等问题导致窗口关闭或者自行退出后,也可以利用screen命令找回该命令,并且任务也能够正常运行。
screen的基本命令:
- screen -S name -> 新建一个名为name的窗口
- ctrl+a d -> 不结束该窗口节点,只是短暂退出
- screen -r name -> 回到name这个窗口节点
- screen -d name -> 离线name这个窗口节点
- screen -ls -> 列出当前所有的窗口节点
- ctrl+a k -> 结束该窗口节点
遇到的问题:
screen会话因网络等问题突然退出后,使用screen -r 命令进行重新连接时,发现screen状态为attached。此时需要先踢掉上一个会话关掉还没有退出的用户,然后重新连接。
screen -d -r name