利用awk和kill 批量结束Linux进程

利用awk和kill,批量结束进程。

问题:发现内存占用很多。
分析:top显示,有很多Python文件,正在执行。是因为计划任务执行了Python文件,忘记结束。

root     24680     1  0 9月20 ?       00:00:00 /usr/bin/python3 /root/kpceshi.py
root     24816     1  0 9月20 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     25767     1  0 10月02 ?      00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     25896     1  0 9月24 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     26594     1  0 9月20 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     26633     1  0 9月22 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     27102     1  0 9月11 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     27152     1  0 9月12 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     27514     1  0 10月04 ?      00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     27878     1  0 10月04 ?      00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     28052     1  0 10月04 ?      00:00:00 /usr/bin/python3 /root/kpceshi1.py

新问题:进程很多,不重启的情况下,如何结束?
利用ps -ef|grep 进程文件名

[root@VM_0_8_centos ~]# ps -ef|grep kpceshi
root       717     1  0 9月12 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root       831     1  0 9月12 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root      2132     1  0 9月01 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root      3193     1  0 9月20 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root      3544     1  0 9月20 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root      4342     1  0 9月03 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root      4526     1  0 9月21 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root      4749     1  0 10月04 ?      00:00:00 /usr/bin/python3 /root/kpceshi1.py
root      5467     1  0 9月11 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root      5505     1  0 8月31 ?       00:00:00 /usr/bin/python3 /root/kpceshi.py
root      5593     1  0 9月11 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root      6648     1  0 9月20 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root      7506     1  0 9月19 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     11063     1  0 9月04 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     11231     1  0 9月22 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     11610     1  0 9月20 ?       00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     11887     1  0 10月05 ?      00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     12115     1  0 10月05 ?      00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     12230     1  0 10月05 ?      00:00:00 /usr/bin/python3 /root/kpceshi1.py
root     12233     1  0 10月05 ?      00:00:00 /usr/bin/python3 /root/kpceshi.py

可以发现第2列为进程id。批量结束即可。

解决:利用awk找到第2列的进程id,然后利用管道命令交给kill处理。

ps -ef|grep kpceshi|awk '{ print $1 }'|xargs kill

问题解决。内存释放了很多,可以正常启动MySQL咯。

You May Also Like

About the Author: 萌新