linux服务器远程连接的离线工作或者多窗口工作

背景:
小编在实验室里学习深度学习,需要经常ssh到服务器上训练神经网络,可是自己的主机有可能会关机或者拿去做别的事情,这就很不方便。还有就是有时需要同时开启多个窗口,小编是win10利用putty来连接服务器的,就需要多个putty,感觉好蠢。经过研究,发现了几个好用的命令来解决这个问题。
问题一:离线工作
方法一:利用nohup命令
直接运行 nohup XXXX &
例如:

nohup python train.py & 这样就会把原来在控制台的输出重定向到nohuo.out文件中,即使退出服务器也是没有关系的,你的网络依旧在训练

如何关闭的离线的工作那
首先查看当前的进程(用ps命令):~$ps 然后用kill命令杀死进程就可以了: ~$kill pid

方法二:使用screen分屏管理器
准备:需要用pip,yum等工具下载screen
例如:
~$ pip install screen

首先创建一个窗口,名字叫yolo(自己随便取的):
~$ screen -S yolo

linux服务器远程连接的离线工作或者多窗口工作
文章图片

然后可以开始跑你的程序,例如:
~$ python train.py

退出并保存这个窗口:
用 Ctrl + a+d的快捷键

可以查看当前有哪些窗口:
~$screen -ls

linux服务器远程连接的离线工作或者多窗口工作
文章图片

然后可以关闭连接(程序依然在跑),或者重新进入:
~$ screen -r yolo

如何关闭那个叫yolo的窗口那,用下面的命令:
~$screen -X -S yolo quit#其中yolo是关闭窗口的名字

问题二:多窗口作业
还是使用强大的screen了
首先还是要先创建一个窗口了
~$ screen -Smywindow

【linux服务器远程连接的离线工作或者多窗口工作】然后可以用以下的命令来进行操作了,就不一一演示了,感兴趣的小伙伴可以自己动手试一下
Ctrl + a c创建一个窗口 Ctrl + a w窗口列表 Ctrl + a n下一个窗口 Ctrl + a p上一个窗口 Ctrl + a0~9在第0个窗口和第9个窗口之间切换 exit关闭当前窗口并且切换到下一个窗口(当退出到最后一个窗口时,该终端自动终止,并且退回到原始shell状态) Ctrl + a d退回当前终端,返回加载前的shell命令状态

    推荐阅读