Issue starting в demon process at startup in Ubuntu

I tried Стартинг Деамон process. I am trying to run this command during startup to start DTN2 deamon using command dtnd -c DTN2/dtn/dtn.conf -o DTN2/dtn/log -d in ubuntu 14.04

I made this схвати в shell рукописный шрифт in one location in my computer and added it in rc.local e.g sh '/pathtoscript/script.sh'. It works when i использовал sudo /etc/init.d/rc.local start. However it is not starting after the restart. How хан i make sure this runs? Would creating в рукописный шрифт using init.d or adding an Upstart job would be better way for running the deamon on startup for ubuntu 14.04.

0
задан 9 December 2015 в 00:53

1 ответ

И теперь, ответ Ubuntu.

Вы используете Ubuntu Linux. У Вас уже есть или выскочка или systemd (первый в данном случае). Не начинайте системой письменности 5 rc сценарии.

/etc/rc.local двойное назад механизм совместимости, потому что это назад механизм совместимости для механизма, который был самостоятельно механизмом совместимости в Системе 5 rc. И как показано путаницей, что https://askubuntu.com/a/618138/43344 адреса, с помощью /etc/rc.local может пойти ужасно неправильно. Не начинайте при помощи rc.local.

выскочка и версия 14

Так запишите новомодный файл задания.

Это выглядело бы примерно так:

# /etc/init/dtnd.conf

description "DTN2 daemon"

start on filesystem and static-network-up
stop on runlevel [016]

env DAEMON='/usr/sbin/dtnd'

respawn

exec /usr/sbin/dtnd -c /etc/dtn/dtn.conf -o /var/log/dtn/log

Корректируйтесь для своего журнала и конфигурации модели; и используйте в качестве новомодного задания, обычным способом, с initctl start, initctl stop, и т.д.

Не используйте -d опция. Программа уже "daemonized" посредством того, чтобы быть выполненным при менеджере по сервису.

systemd и версия 15

Так запишите systemd сервисную единицу.

Первое правило для миграции на systemd применяет … все снова и снова. Кто-то уже сделал это. Для примера посмотрите dtnd.service записанный псевдонимным человеком в 2012.

Снова: не используйте -d опция. Программа уже "daemonized" посредством того, чтобы быть выполненным при менеджере по сервису.

Также обратите внимание, что Вам не нужно -o опция. Журнал к стандартному выводу / стандартная погрешность обычным способом и systemd запишет это в журнал.

Используйте в качестве systemd сервиса, обычным способом, с systemctl start, systemctl stop, systemctl status, и т.д. В частности, используйте systemctl enable гарантировать, что сервис автоматически запускается при системной начальной загрузке.

0
ответ дан 30 September 2019 в 02:05

Другие вопросы по тегам:

Похожие вопросы: