В моем веб-приложении на PHP я пытаюсь ограничить количество процессов, интенсивно использующих процессор / память (например, команда ImageMagick 'convert').У меня есть несколько заданий crons, которые выполняют различные сценарии, которые потенциально могут выполнять слишком много экземпляров этих процессов, интенсивно использующих процессор / память.
В своей попытке ограничить такие процессы я сначала проверяю, установлена ли моя системазапуск определенного количества процессов.Функция:
function has_reached_process_limit($process, $limit)
{
$command = 'ps -eo comm | grep ' . $process;
exec($command, $output, $return);
if (count($output) > $limit)
{
return TRUE;
}
else
{
return FALSE;
}
}
Итак, я запускаю что-то вроде этого:
while (has_reached_process_limit('convert', 5) === TRUE)
{
// loop over
}
Проблема в том, что когда я наблюдаю за ресурсами моей ОС (с помощью команды top), яувидеть гораздо больше процессов, чем я ожидаю.Есть идеи почему?