Предупреждение PHP: exec () не может форк

Итак, вот небольшая справочная информация о моей настройке. Запуск Centos с Apache и PHP 5.2.17. У меня есть веб-сайт, на котором перечислены товары с разных веб-сайтов. У меня есть скрипты на гусеничном шасси для запуска продуктов с каждого веб-сайта. Поскольку каждый веб-сайт отличается, каждый скрипт сканера должен быть настроен для сканирования конкретного веб-сайта розничной торговли. Так что в основном у меня 1 сканер на одного продавца. В настоящее время у меня есть 21 сканер, который постоянно работает, чтобы собирать и обновлять продукты с этих сайтов. Каждый сканер представляет собой php-файл, и после запуска php-скрипта он проверяет, работает ли его единственный экземпляр, и в самом конце скрипта он использует exec для повторного запуска самого себя, пока закрывается исходный экземпляр. Это помогает защитить от утечек памяти, так как каждый сканер перезапускается перед закрытием. Однако в последнее время я проверю скрипты сканера и обнаружу, что один из них больше не работает, и в журнале ошибок я обнаружил следующее.

PHP Warning:  exec() [<a href="function.exec">function.exec</a>]: Unable to fork [nice -n 20 php -q /home/blahblah/crawler_script.php >/dev/null &]

Это то, что должно запустить этот конкретный гусеничный ход снова, так как это былоне в состоянии раскошелиться " он никогда не перезапускался, и исходный экземпляр сканера заканчивался, как обычно.

Очевидно, что это не проблема с разрешениями, потому что каждый из этих 21 сценария искателя запускает эту команду exec каждые 5 или 10 минут в конце своего запуска и большую часть времени работает как надо. Кажется, это случается один или два раза в день. Кажется, что это своего рода предел, так как я только недавно начал видеть, что это происходит с тех пор, как я добавил свой 21-й сканер. И это не всегда тот же самый сканер, который получает эту ошибку, это будет любой из них в случайный момент времени, которые не смогут обработать свою команду restart exec.

У кого-нибудь есть идея, что может привести к тому, что php не сможет работать, или, может быть, даже лучший способ справиться с этими процессами, чтобы обойти ошибку все вместе? Есть ли предел процесса, который я должен рассмотреть, или что-то в этом роде? Заранее спасибо за помощь!

Ответы на вопрос(5)

Ваш ответ на вопрос