Linux系统——服务器长时间训练不间断指令(nohup的简单用法)
Linux服务器训练中nohup的用法
在模型训练过程中,许多人选择在服务器上运行代码,而大多数服务器运行在Linux环境下。通常情况下,我们可以直接在Linux终端中使用如下命令来启动训练代码(以运行main.py为例)。
python main.py
但是这个会存在一个问题,终端关闭后后台进程同时也断了,这时候就需要用到nohup命令。nohup是一个用于在 Linux 和 Unix 系统中运行命令的实用工具,即使用户退出会话或终端关闭,该命令也能继续运行。用如下命令则可以确保进程在用户注销后仍然保持运行。
nohup python main.py
如果我们现在使用了nohup 运行了两份代码,想要终止其中指定一份,那么则要kill掉对应进程的ID。那么我们首先要找到nohup运行了哪些进程以及对应的进程ID,可以用命令:
ps aux | grep python
图中红框则是运行python脚本的对应进程ID,当然为了防止kill掉错误的进程,可以使用pwdx命令来查看确定是否进程的当前工作目录是否正确。
pwdx 136303
确定要中断的进程ID后,直接用kill+进程ID即可,最后再使用ps aux | grep python检查下是否中断进程成功。