在训练时,为了防止一些意外提前终止正在运行的程序,我通常使用nohup命令将进程挂到后台,但nohup命令是无法仅依靠使用Ctrl+C 结束的,必须在终端kill掉当前进程。
具体接解决方法如下:
首先,通过如下命令查看当前服务器上运行的所有进程:
ps -ef # 显示所有进程信息,连同命令行
或者:
ps -aux # 列出目前所有的正在内存当中的程序
在command列找到你当时运行时的指令,以此来确定你要kill的进程的进程号,比如说
红框框出来的以 --resume结尾的是我运行时的命令,对应的进程号为45084,因此使用命令:
kill -9 45084
结束当前被nohup指令挂起的进程。
此时在服务器的nohup.out的文件中会出现如下结果:
务必确保看到了这个提示!!
RuntimeError: DataLoader worker (pid 45084) is killed by signal: Killed.