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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: послушный демон  (Прочитано 161 раз)

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

Оффлайн macros2007

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
послушный демон
« : 20 Ноябрь 2016, 10:44:25 »
Доброго времени суток, пытаюсь освоить демонизацию процессов, в частности через systemd. Сам демон уже запущен, крутиться без проблем(за исключением того, что после запуска стандартный ввод не предается терминалу). Пояаилась идея написать простенький web-интрефейс. Но возник вопрос, как передать какую-либо команду(строку) запущенному процессу, на подобие GNU Screen(screen -x qqq -X stuff "some command\015")? Заранее спасибо.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11894
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
Re: послушный демон
« Ответ #1 : 20 Ноябрь 2016, 11:10:26 »
macros2007, демон он на то и демон - у него не может быть вывода в запускающий терминал.

Идея с сервисом для общения - это в правильном направлении движение.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

Оффлайн macros2007

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: послушный демон
« Ответ #2 : 20 Ноябрь 2016, 11:16:22 »
не вывод, а ввод :) То бишь после запуска создается впечатления "зависания", приходится давить Ctrl + C. Но вопрос в другом, как передать запущенному приложению какую-либо команду.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 1801
    • Просмотр профиля
Re: послушный демон
« Ответ #3 : 20 Ноябрь 2016, 11:21:34 »
В книге Робачевского "Операционная система UNIX" подробно рассказано, как демонизировать процесс.
Не помню, говорится ли там, как взаимодействовать с демоном. М.б., заранее запустить процесс для
общения с демоном, а демону при запуске передать его id. Мне самому делать этого не приходилось.
Пётр.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 11894
  • Xubuntu 18.04 (64bit)
    • Просмотр профиля
Re: послушный демон
« Ответ #4 : 20 Ноябрь 2016, 12:21:26 »
macros2007, правильнее ввод/вывод. По сути роли не играет в каком направлении. Можно сказать так: у демона нет возможностей обмениваться данными через запустивший его терминал.

Для общения с ним используются сокеты. Сокет по сути и есть терминал - через него можно передавать и получать данные.

Модерновый путь общения сдемоном - DBus - но это все сложнее в реализации.
« Последнее редактирование: 20 Ноябрь 2016, 12:29:27 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: http://help.ubuntu.ru/wiki/uefiboot

 

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