linux断开SSH连接,保持程序运行-nohup命令(实践笔记)

最近需要跑模型,用自己的电脑进行远程连接,用远程服务器跑数据。然鹅,每次只要我的电脑断网,或者关闭pycharm,远程运行就会停止…这样,就必须待在有网的地方,电脑一直开机,直到跑完数据…断断续续两周还没有跑完的情况下,终于找到了解决的方法–nohup命令,学习了很多篇大大的笔记,终于成功实现了在断开SSH连接的情况下,如何保持程序运行。实践过程如下:

看了一圈,有两种方法可以保持程序运行:1.nohup命令 2.screen命令(需要安装screen),我用了第一种。
emmmmm看到大大们的博客里面说执行nohup命令,但是作为一个菜鸟,我疑惑的是从哪里去输入命令,所以从开始第一步记录了:
(nohup命令在第3步)

(1) 安装putty

远程电脑是linux服务器,于是安装了putty(下载)
在这里插入图片描述
连接到远程电脑,用账号和密码登录。

(2) putty中运行python文件

打开putty,输入运行python文件的命令:

python 路径

【putty中左键选中复制,点击右键自动粘贴】
比如:
在这里插入图片描述
成功输出结果,故我要运行train.py,输入命令

python home/xx/xx/EfficientDet/train.py

可以看到正在运行train.py即可。我刚开始在pychram中train可以成功运行,但是在putty中则会报一个路径错误,后面把相对路径改为绝对路径就可以了。

(3) 使用nohup

命令语法:

nohup Command [ Arg … ] [ & ]
也就是nohup+命令+执行参数+&

对应第二步,(我没有执行参数)输入

nohup python home/xx/xx/EfficientDet/train.py &

在这里插入图片描述
可以看到,出现nohup: ignoring input and appending output to ‘nohup.out’,证明成功了。中间输出在远程服务器下的nohup.out文件中,(我的并没有在home下,而是在home的子文件夹中)内容如下:
在这里插入图片描述

(4) 终止进程

命令语法:

kill -9 进程号

关掉putty后再次查询进程号的命令:

ps -aux | grep 文件名

故输入

ps -aux | grep train

在这里插入图片描述

训练已经成功停止啦。

在这里插入图片描述

参考1
参考2

Logo

更多推荐