ps -ef |grep your_scripts.py|grep -v grep|awk '{print $2}'|xargs kill -9
指令拆解
1.查询与your_scripts.py相关的进程信息
ps -ef |grep your_scripts.py
2.去除结果中带有grep的表头的一行,描述不准确,是这个效果
ps -ef |grep your_scripts.py|grep -v grep
3.取出结果中每行进程信息的进程号
ps -ef |grep your_scripts.py|grep -v grep|awk '{print $2}'
4.传递进程号,杀掉相关进程
ps -ef |grep your_scripts.py|grep -v grep|awk '{print $2}'|xargs kill -9
demo
import time
if __name__ == '__main__':
a = 0
while True:
a += 1
time.sleep(1)
print(a)
依次查询
$ ps -ef |grep kill_p_demo.py
n 68913 68556 0 20:56 pts/19 00:00:00 grep --color=auto kill_p_demo.py
$ ps -ef |grep kill_p_demo.py
n 68938 68915 0 20:56 pts/21 00:00:00 /usr/bin/python3.6
/home/n/proj/kill_p_demo.py
n 68942 68556 0 20:56 pts/19 00:00:00 grep --color=auto kill_p_demo.py
$ ps -ef |grep kill_p_demo.py|grep -v grep
n 68938 68915 0 20:56 pts/21 00:00:00 /usr/bin/python3.6 /home/n/proj/kill_p_demo.py
$ ps -ef |grep kill_p_demo.py|grep -v grep|awk '{print $2}'
68938
$ ps -ef |grep kill_p_demo.py|grep -v grep|awk '{print $2}'|xargs kill -9
$ ps -ef |grep kill_p_demo.py|grep -v grep # 这里已经没有相关进程显示
终端
99
100
101
102
103
104
105
106
Killed