Php 如何降低cron脚本的CPU和I/O优先级?

Php 如何降低cron脚本的CPU和I/O优先级?,php,unix,cron,Php,Unix,Cron,我想通过cron以低I/O和CPU优先级运行脚本。如果我理解正确(我可能不理解),我可以添加proc_nice(10)到我的脚本以降低CPU优先级,但没有PHP等效的I/O优先级 似乎有一个shell命令ionice,但是我是一个linux白痴,我不知道我在做什么。如果我想同时使用nice和ionice来降低相关脚本的优先级,这是否是cron文件的正确行 0 * * * * /usr/bin/nice -n 10 /usr/bin/ionice -c 3 /path/php/bin/php /p

我想通过cron以低I/O和CPU优先级运行脚本。如果我理解正确(我可能不理解),我可以添加
proc_nice(10)到我的脚本以降低CPU优先级,但没有PHP等效的I/O优先级


似乎有一个shell命令
ionice
,但是我是一个linux白痴,我不知道我在做什么。如果我想同时使用nice和ionice来降低相关脚本的优先级,这是否是cron文件的正确行

0 * * * * /usr/bin/nice -n 10 /usr/bin/ionice -c 3 /path/php/bin/php /path/script.php
我从(“将进程放在空闲调度类中”)中获得了
-c3
参数,我不确定这是我想要的

使用PHP调用
proc_nice()
而不是使用此方法是否有好处


编辑:我的cron脚本没有使用上面的命令运行,因此我肯定误解了Unix的某些内容,它的克隆体倾向于将一个实用程序/命令的输出变成下一个实用程序/命令的输入

在您的示例中,(我认为)结果是
nice
实际上会影响
ionice
的准确性。只有
ionice
会对PHP产生影响

更新:实际上,它应该继承它的优点,请参见注释)

我发现建议您执行以下操作,以使
nice
ionice
都影响您的PHP实例:

ionice -c3 -p$$;nice -n 10 /usr/bin/php /path/to/your/script.php

try系统(“renice-5-p.getmypid());也许可以问一下unix.stackexchange.com,这与编程无关。我试图将其报告为非主题,但我不能选择unix的适度形式(不知道为什么)。“如果我想使用nice和ionice来降低所讨论脚本的优先级,这是否是我的cron文件的正确行?”看起来是-但是您看到了什么错误,使它认为不是?不会给您一个-1,但是很好(即调度优先级)通常是继承的,因此设置
ionice
的精确性应该可以正确工作。另外请注意,除非您是超级用户(或具有
CAP\u SYS\u NICE
功能),您只能降低优先级。编辑了答案,谢谢您指出。但是我链接到的页面中建议的修复是否有效?AFAICT,它会有效,因为它设置了shell的IO优先级,我认为它也是继承的。如果是,它将等同于原始行。