当前位置: 技术问答>linux和unix
如何在某一进程占用CPU达到一定值时捕获它的PID并将它杀死???(急)
来源: 互联网 发布时间:2015-10-30
本文导语: 如题 请各位大虾帮忙,谢谢。 | ps -eo "%C %p"可以得到所有进程的cpu使用率及进程号 用sort可以排序 用head -1或者tail -1可以得到第一个或最后一个 ps -eo "%C %p"|sort|grep -v CPU|tail -1 ...
如题
请各位大虾帮忙,谢谢。
请各位大虾帮忙,谢谢。
|
ps -eo "%C %p"可以得到所有进程的cpu使用率及进程号
用sort可以排序
用head -1或者tail -1可以得到第一个或最后一个
ps -eo "%C %p"|sort|grep -v CPU|tail -1
用sort可以排序
用head -1或者tail -1可以得到第一个或最后一个
ps -eo "%C %p"|sort|grep -v CPU|tail -1
|
一句就可以搞定:
kill -9 $(ps -eo "%C %p"|sort|grep -v CPU|tail -1|cut -c 7-12)
kill -9 $(ps -eo "%C %p"|sort|grep -v CPU|tail -1|cut -c 7-12)
|
写一个crontab就可以搞定:
0,10,20,30,40,50 * * * * kill -9 $(ps -eo "%C %p"|sort|grep -v CPU|tail -1|cut -c 7-12)
请高手指正。
0,10,20,30,40,50 * * * * kill -9 $(ps -eo "%C %p"|sort|grep -v CPU|tail -1|cut -c 7-12)
请高手指正。
|
x86(大雪)的方法很厉害
如果想在程序中实现可以参考top的源码,检查/proc下每个进程的stat文件,计算CPU利用率,排序。
如果想在程序中实现可以参考top的源码,检查/proc下每个进程的stat文件,计算CPU利用率,排序。
|
这样会把系统搞死的丫。ps很费资源的吧。
|
这么做意义不大,还不如限每进程CPU时间来的实在