Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск циклического скрипта 
:(
    Опции темы
starmaster
  Дата 24.4.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 29.3.2004

Репутация: нет
Всего: нет



День добрый!

Есть ли в PHP возможность запускать другое приложение (скрипт с вечным циклом на Perl) и не зацикливаться при этом самому? Просто есть у меня служебная программка на Perl, а админка на PHP, хочется запускать и останаливать её через веб-интерфейс.
PM MAIL WWW ICQ   Вверх
NLspieler
Дата 25.4.2009, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



Попробуй передавать php скриптом запросы типа

Код


//bay=ein - включить
//bay=aus - выключить

$url = 'skript?bay=ein' ; 
file_get_contents('$url') ;



Perl же умеет читать гет-переменные?




PM MAIL   Вверх
starmaster
Дата 25.4.2009, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 29.3.2004

Репутация: нет
Всего: нет



Неа, не то smile) При Вашем примере, Ваш скрипт зациклится...

Служебный скрипт имеет бесконечный цикл, т.е. имеет постоянно запущенный процесс. Хотел реализовать убийство процесса, через отсылку ему сигнала SIGKILL. Perl скрипт у меня при это ловит этот сигнал, выполняет то, что нужно и заканчивается exit'ом. Но проблема в том, что сигнал из админки отсылается от другого пользователя (www-data), который отличается от того, который запустил скрипт. Соответственно, у первого нету прав для передачи второму сигнала. Получается что и Perl-скрипт тоже надо из админки запускать. Только вот все стандартные функции естественно зацикливаются: exec, system :-(
PM MAIL WWW ICQ   Вверх
NLspieler
Дата 26.4.2009, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



Попробуй тогда так, создай файл.
В нем будет хранится единственная строка ein.
Перл-скрипт каждый n-минут проверяет его содержимое и если там записано ein, то продолжает работу, иначе останавливается.

ПХП-админка в этом случаи просто должна менять содержимое этого файла. 
PM MAIL   Вверх
starmaster
Дата 27.4.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 29.3.2004

Репутация: нет
Всего: нет



Я думал об этой идее вообще smile Но только при убийстве бота, типа PHP-скрипт из админки создаёт пустой файл bot.kill А Perl скрипт проверяет, существует ли данный файл, если существует, то удаляет его и завершается. Ок, если убиваешь бота. А запускать такой скрипт с циклом не получится думаю :-(

Но у меня есть мысль. Я как-то видел Perl-скрипт, который запускается, потом форкается, его процесс-потомок выполняет свою задачу, а предок просто завершается. Тем самым PHP-скрипт из админки не зациклится, а нормально запустить бота. Я вот только не помню, по теории помоему если главный процесс заканчивается, то порождённый им процесс тоже заканчивает, независимо от того, закончил ли он свою работу или нет. Так ли это? В PHP скрипт будет одинаков для fork'a, как и в Perl, поэтому я просто по теории спрашиваю...
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 28.4.2009, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(starmaster @  26.4.2009,  00:52 Найти цитируемый пост)
Но проблема в том, что сигнал из админки отсылается от другого пользователя (www-data), который отличается от того, который запустил скрипт. Соответственно, у первого нету прав для передачи второму сигнала. 

А в чем проблема? Используйте sudo.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0943 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.