问题描述
在进行深度学习训练的时候,数据加载往往采用多进程的方式。并且程序往往挂载后台运行。这时候如果想中途停止,就需要杀死进程来结束了。但是往往这个多进程有点多(一般设置的时候就是按照一个cpu一个进程),一个一个杀有点抓狂。今天记录一下批量杀死进程的方法。
解决方法
基本思路就是利用管道,先找到相应的PID,然后杀死。命令如下1:
ps -ef|grep python|grep -v grep|grep -v jupyter|cut -c 9-15|xargs kill -9
其中命令的主要意义为:
ps - ef
是linux 里查看所有进程的命令。这时检索出的进程将作为下一条命令的输入。grep python
的输出结果是,所有含有关键字python
的进程。grep -v grep
及grep -v jupyter
是在列出的进程中去除含有关键字grep
和jupyter
的进程。cut -c 9-15
是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。xargs kill -9
中的xargs命令是用来把前面命令的输出结果(PID)作为kill -9
命令的参数,并执行该令。
这样就可以瞬间杀死这些进程了。