Фоновый режим

DiZe

Новичок
Фоновый режим

Запускаю скрипт2 через скрипт1:
PHP:
passthru("/usr/local/bin/php -f /home/............./script2.php");
1) Через что надо запускать? exec passthru shell_exec или что-то другое?
2) После запуска второго скрипта, апач перестает выдавать другие страницы. Почему, может кто знает?

второй скрипт:
PHP:
while(true){
...
}
Работает как надо
 

DiZe

Новичок
мне надо чтобы второй скрипт всегда в фоне висел. Работы ему найдётся, крон не катит.
 

Апокалипсис

тех дир matras.ru
2) После запуска второго скрипта, апач перестает выдавать другие страницы. Почему, может кто знает?
стоит бесконечный цикл а что в нем? видимо нагрузка огромна так что апач просто "висит"
 

DiZe

Новичок
А разве апач тут работает? Нагрузка не особо велика. Без цикла отрабатывается примерно за 0.01. Да даже если оставить только цикл, то ничего не изменится.

Может там ограничения на количество процессов? Такое вообще бывает?
 

DiZe

Новичок
Спасибо за ссылку. Но второй скрипт инклудид Битрикс и из Битрикса сыплются предупреждения, ничего серьёзного.

К тому же, если в цикле поставить условие выхода, то после завершения работы скрипта всё опять ок - страницы начинают грузится.
 

SaNeK

Новичок
Таймаут между итерациями while?

-~{}~ 06.04.07 11:43:

+ неплохо бы проверять, не запущен ли уже скрипт2
 

DiZe

Новичок
проверка есть, скрипт точно один. Между итерациями ставил sleep(1) но и это не помогает :(
 

kruglov

Новичок
После запуска второго скрипта, апач перестает выдавать другие страницы
Может, это эксплорер перестает запрашивать другие страницы, пока эта "грузится"?
 

DiZe

Новичок
Эту можно вообще закрыть - скрипт работает не зависимо от клиента
 

ksnk

прохожий
Кусок документации...
...Если вы собираетесь использовать эту функцию в программе, работающей в качестве демона, убедитесь, что стандартный вывод функции направлен в файл или другой поток, в противном случае PHP зависнет вплоть до конца выполнения программы.
Это не оно?
 

tf

крылья рулят
скрипт инклудид Битрикс и из Битрикса сыплются предупреждения, ничего серьёзного.
+1, так мелочи - всего-то сообщения об ошибках, которые скидываются в файловую систему + тратят процессорное время
 

DiZe

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

PHP:
<?
ignore_user_abort(true);
set_time_limit(0);
while (true) {
	if(file_exists('stop.txt')){
	die('stopped');		
	}
	sleep(1);
};
?>
Насчёт вывода в файл, это да, спасибо. Только не особо помогло.

-~{}~ 06.04.07 20:02:

Действительно помогло!
ksnk, спасибо )
 
Сверху