使用nohup后台运行python脚本


本地连接服务器训练一个机器学习或者深度学习模型的时候,需要花很长时间才能训练出一个结果,但是在这个过程中本地的ssh连接很容易就断开了,这时在服务器上跑的程序也就跟着断掉了,这个时候就非常非常需要后台运行训练程序。

先记录一下使用nohup解决这个问题的过程

  • 因为服务器多人在使用,所以在进入正题之前还是需要先激活环境:source 环境名/bin/activate
  • 打开程序所在文件夹:cd 某文件夹

接下来进入正题,使用nohup:

  • 在上述步骤结束之后,继续输入:nohup python -u 程序名.py > /日志路径 日志名.log 2>&1 &

验证程序是否已经在后台运行

  • 成功之后,关闭当前终端
  • 打开新的终端,ssh命令连接服务器
  • 输入 ps -aux|grep 程序名.py ,就能看到正在运行的程序啦

训练完毕后杀死进程

  • 在执行 ps -aux|grep 程序名.py 的时候,我们可以看到第二列是程序运行的ID,记下ID号码
  • 命令行输入 kill -9 ID号 ,就可以杀死进程啦

训练完成后想看程序中关于 print 的输出,只要打开自定义的目录文件下的 目录.log 就可以查看啦~


文章作者: yali
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yali !
  目录