如何动态更新PID?
问题描述:
在我们的开发服务器上,我们有一堆用于Java JAR的shell脚本包装器。使用CRON调度程序,我们每天都会为了不同的目的而触发这些脚本。如何动态更新PID?
对于性能测试,我们希望在运行时将脚本的PID更改为1的优先级。
现在,我们从命令行或使用TOP来完成它。
有没有办法在shell脚本中做到这一点,而不会“损害”进程以及其他进程?
答
这应该工作:
renice -n 1 $$
之后脚本本身将有1一个很好的价值这也将适用于所有新的孩子,虽然没有以前分叉的。
我的'renice'手册页在“$$”上没有显示任何内容。你能解释一下这个意义吗? – Chris 2012-02-29 18:09:41
对不起,我忘了澄清那部分:$$被bash扩展为正在运行的脚本的PID。更多信息在这里:http://tldp.org/LDP/abs/html/internalvariables.html#PROCCID – 2012-02-29 18:10:29
我得到一个'renice:1:setpriority:操作不允许13711:旧的优先级0,新的优先级0'。我必须是“根”吗?我不应该,对吗? – Chris 2012-02-29 18:14:33