Hi,
在 Redhat 的 Linux 系统里面,有一个进程名称叫 acpro (第三方系统程序) ,在运行的时候,这个进程会在短短几秒内占用了全部的 CPU,从而导致系统的其他命令不能运行。
现需要在 acpro 在运行的时候,一边让 acpro 继续保持运行,一边在系统监控其他内容
请问,可否用下面连接里面的工具或 linux 系统其他内置工具(如果有的话),自动监测到 acpro 一运行得到 PID 的时候,就自动将 acpro 可以使用的 CPU 最大值设置为 30% 或 50%?
http://www.maketecheasier.com/limit-cpu-usage-of-any-process-in-linux/
我的初步想法是想写一个循环,不断监测看 acpro 有没有启动起来,用以下方式:
do{
# ps -ef | grep acpro
//这里面通过什么得到 PID
//这里面判断 PID 是否有,如果有的话,则立即设置 acpro 的 CPU 最大值为 30%, 设置完成后退出循环
} while(true);
因为我对在 linux 里面写 sh 不太知道如何写循环并实现上面的过程,所以,我用 C# 的语法把内容表达出来。
请大家帮下忙,如果可以的话,把监测的脚本写出来参考一下,谢谢。