Ответ, предложенный @stillstanding, полностью действителен. Я просто хотел добавить некоторые детали из моих собственных экспериментов.
Если ваш скрипт использует 50% ЦП, добавив /low
, он не будет потреблять меньше. Единственное отличие состоит в том, что появляется другой процесс с более высоким приоритетом планирования, которому требуется процессор. Когда загрузка ЦП достигнет 99-100%, ваш PHP-скрипт CLI будет уменьшен.
Другими словами, вам нужно запланировать более высокий приоритет для процессов, которые в нем нуждаются, чтобы машина все еще реагировала.
Добавление start
к командам, которые запускались непосредственно с exec()
, может вызвать проблемы при использовании путей и параметров. Также у меня возникла проблема с запуском процессов при 0% загрузки процессора.
Вот рабочий пример:
$cmd = 'start /b /low /d "C:\php\" php.exe -f ""C:\Data\www\script.php" foo="1" bar="text"';
pclose(popen($command, "r"));