Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Запуск циклического скрипта |
Автор: starmaster 24.4.2009, 18:42 |
День добрый! Есть ли в PHP возможность запускать другое приложение (скрипт с вечным циклом на Perl) и не зацикливаться при этом самому? Просто есть у меня служебная программка на Perl, а админка на PHP, хочется запускать и останаливать её через веб-интерфейс. |
Автор: NLspieler 25.4.2009, 01:27 | ||
Попробуй передавать php скриптом запросы типа
Perl же умеет читать гет-переменные? |
Автор: starmaster 25.4.2009, 23:52 |
Неа, не то ![]() Служебный скрипт имеет бесконечный цикл, т.е. имеет постоянно запущенный процесс. Хотел реализовать убийство процесса, через отсылку ему сигнала SIGKILL. Perl скрипт у меня при это ловит этот сигнал, выполняет то, что нужно и заканчивается exit'ом. Но проблема в том, что сигнал из админки отсылается от другого пользователя (www-data), который отличается от того, который запустил скрипт. Соответственно, у первого нету прав для передачи второму сигнала. Получается что и Perl-скрипт тоже надо из админки запускать. Только вот все стандартные функции естественно зацикливаются: exec, system :-( |
Автор: NLspieler 26.4.2009, 13:35 |
Попробуй тогда так, создай файл. В нем будет хранится единственная строка ein. Перл-скрипт каждый n-минут проверяет его содержимое и если там записано ein, то продолжает работу, иначе останавливается. ПХП-админка в этом случаи просто должна менять содержимое этого файла. |
Автор: starmaster 27.4.2009, 22:41 |
Я думал об этой идее вообще ![]() Но у меня есть мысль. Я как-то видел Perl-скрипт, который запускается, потом форкается, его процесс-потомок выполняет свою задачу, а предок просто завершается. Тем самым PHP-скрипт из админки не зациклится, а нормально запустить бота. Я вот только не помню, по теории помоему если главный процесс заканчивается, то порождённый им процесс тоже заканчивает, независимо от того, закончил ли он свою работу или нет. Так ли это? В PHP скрипт будет одинаков для fork'a, как и в Perl, поэтому я просто по теории спрашиваю... |