Проблема с запускаемым в фон скриптом (exec)

SCR

Новичок
Проблема с запускаемым в фон скриптом (exec)

Постоянно дергаю скрипт таким образом:
PHP:
exec( "/usr/local/bin/php script.php >/dev/null 2>&1 &" );
Со временем появляется все большее количество процессов php, вплоть до того что сервер перестает отдавать контент по http.
В самом скрипте стоит
PHP:
set_time_limit(50);
Но это не помогает...
Кроме того появились два процесса "php-cgi" которые не прибиваются kill'ом и запускаются снова после ребута, даже когда скрипт не выполняется.
Подскажите знающие люди, куда тут копать?
 

findnext

Новичок
ну если появляется значит их нужно убивать после выполнения команды.

http://php.net/manual/en/function.exec.php

-~{}~ 10.07.09 13:13:

там в примерах есть необходимая информация
 

DiMA

php.spb.ru
Команда форума
можно запускать следом команду
runafter.exe 31 pskill.exe php.exe (пример для винды)

суть runafter.exe (прога из 3х строк пишется на С++ под любую ОС за 10 минут) - выполнить команду через указаное число секунд

метод как у самонаводящихся ракет - "запустил и забыл"
 

nexen

Новичок
ммм - , что значит - не убиваются killo'm им даже lsass.exe убивается - попробуйте taskkill /if /im pid.exe
 

SCR

Новичок
Прибивать их не проблема, вопрос почему игнорируется set_time_limit?
Система фря.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
почему игнорируется set_time_limit?
[m]set_time_limit[/m]
Note: The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running.
 

phprus

Moderator
Команда форума
nexen
что значит - не убиваются killo'm
То и значит, что во первых система, судя по коду, это что-то из *nix'ов (что подтвердил сам SCR), а во вторых зомби-процесс убить нельзя, так как о уже мертв. От зомби можно избавиться только убив его родителя (тогда его код завершения считает initd и зомби упокоится с миром).
 
Сверху