Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: php демон и init.d  (Прочитано 945 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн nerezus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
php демон и init.d
« : 09 Апрель 2010, 02:49:59 »
Есть задача написать чат.
Написал демона на скриптовом языке(php).
(задача через классические скрипты не решаема: нагрузка в сотни раз больше, поэтому пришлось писать асинхронный сервер)

Как его лучше демонизировать?
Как красивее написать init-скрипт?

Запуск: sudo -u nerezus php /home/nerezus/phpchat/phpchat.php
Останов как-то через xargs  и kill -9 потом соображу.

Но прикол в этом:

exe="sudo -u nerezus php /home/nerezus/phpchat/phpchat.php >/dev/null 2>/dev/null &"

case "$1" in
start)
$exe
;;
..................
sudo /etc/init.d/phpchat start не отдает управление назад. Как фиксить?

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2540
    • Просмотр профиля
Re: php демон и init.d
« Ответ #1 : 09 Апрель 2010, 08:28:35 »
Должен отдавать, если правильно написан.
Попробуйте в терминале выполнить типа
sudo -u nerezus php /home/nerezus/phpchat/phpchat.php >/dev/null 2>/dev/null &
echo "End"
чтобы понять в чем прикол.

Оффлайн nerezus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: php демон и init.d
« Ответ #2 : 09 Апрель 2010, 16:31:51 »
nerezus@km31424-03:~/phpchat$ sudo -u nerezus php /home/nerezus/phpchat/phpchat.php >/dev/null 2>/dev/null &
[1] 21529
nerezus@km31424-03:~/phpchat$
При этом он не пашет.

sudo -u nerezus php /home/nerezus/phpchat/phpchat.php
а вот так пашет. И не отдает управление.

Пользователь решил продолжить мысль 09 Апрель 2010, 20:03:34:
Проблема решена.

exe="sudo -u nerezus php /home/nerezus/phpchat/phpchat.php"
При запуске:
$exe  >/dev/null 2>/dev/null &

Кто объяснит теперь, почему?
« Последнее редактирование: 09 Апрель 2010, 20:03:34 от nerezus »

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: php демон и init.d
« Ответ #3 : 11 Апрель 2010, 18:54:23 »
Есть такая дебиановская утилитка, назвыается start-stop-daemon. Очень ывручает, когда нужно чего-либо демонизировать. Рекомендую почитать её ман.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2540
    • Просмотр профиля
Re: php демон и init.d
« Ответ #4 : 12 Апрель 2010, 09:38:04 »
Кто объяснит теперь, почему?
Спецсимволы, вероятно, надо экранировать ( >, &, может еще что-то).
Можно попробовать использовать одинарные кавычки.
Можно попробовать "$exe".
Что поможет - отпишитесь за коллекции.
« Последнее редактирование: 12 Апрель 2010, 09:49:34 от alexander.pronin »

 

Страница сгенерирована за 0.06 секунд. Запросов: 24.