LINUX.ORG.RU

История изменений

Исправление Skullnet, (текущая версия) :

В чём вообще может быть проблема с написанием скрипта для sysvinit, который в простейшем случае состоит из одной значащей строчки вроде

/usr/sbin/my-fucking-daemon –arg1 –arg2 &

Ну во-первых. Скрипты для запуска должны иметь всего один ключевой параметр: start, stop, restart и т.д., чтобы как-то унифицировать этот зоопарк, а не то что вы написали выше. Во-вторых, никакого & за пределами и внутри скрипта быть не должно, скрипт должен запускать процесс уже в фоне. Причём & нужно избегать, потому что он привязывает запуск процесса, к текущему родительскому shell процессу. Т.е. грохается терминал - грохается сервис. Тут обычно помогает start-stop-daemon, либо реализуют background режим в сам бинарь приложения.

Заглянув в systemd-шные unit-файлы, я не понял буквально ничего.

[Unit]
Description=Dbus after suspend service

[Service]
ExecStart=/home/user/Scripts/dbus-after-suspend.py
WorkingDirectory=/home/user/Scripts

[Install]
WantedBy=default.target

Самый тупой systemd unit. Что тут не понятного? WantedBy, кстати говорит что должно триггерить запуск Unit-а, чтобы сервис запускался в нужно порядке.

Или немедленные извинения за безосновательное говнометание, или отправишься в игнор.

Требую извинения перед Поттерингом лично за вышесказанное:

три недели поноса и мучительную смерть.

Исправление Skullnet, :

В чём вообще может быть проблема с написанием скрипта для sysvinit, который в простейшем случае состоит из одной значащей строчки вроде

/usr/sbin/my-fucking-daemon –arg1 –arg2 &

Ну во-первых. Скрипты для запуска должны иметь всего один ключевой параметр: start, stop, restart и т.д., чтобы как-то унифицировать этот зоопарк, а не то что вы написали выше. Во-вторых, никакого & за пределами и внутри скрипта быть не должно, скрипт должен запускать процесс уже в фоне. Причём & нужно избегать, потому что он привязывает запуск процесса, к текущему родительскому shell процессу. Т.е. грохается терминал - грохается сервис. Тут обычно помогает start-stop-daemon, либо реализуют background режим в сам бинарь приложения.

Заглянув в systemd-шные unit-файлы, я не понял буквально ничего.

[Unit]
Description=Dbus after suspend service

[Service]
ExecStart=/home/user/Scripts/dbus-after-suspend.py
WorkingDirectory=/home/user/Scripts

[Install]
WantedBy=default.target

Самый тупой systemd unit. Что тут не понятного? WantedBy, кстати говорит что должно триггерить запуск Unit-а, чтобы сервис запускался в нужно порядке.

Или немедленные извинения за безосновательное говнометание, или отправишься в игнор.

Требую извинения перед Поттерингом лично за вышесказанное.

три недели поноса и мучительную смерть.

Исходная версия Skullnet, :

В чём вообще может быть проблема с написанием скрипта для sysvinit, который в простейшем случае состоит из одной значащей строчки вроде

/usr/sbin/my-fucking-daemon –arg1 –arg2 &

Ну во-первых. Скрипты для запуска должны иметь всего один ключевой параметр: start, stop, restart и т.д., чтобы как-то унифицировать этот зоопарк, а не то что вы написали выше. Во-вторых, никакого & за пределами и внутри скрипта быть не должно, скрипт должен запускать процесс уже в фоне. Причём & нужно избегать, потому что он привязывает запуск процесса, к текущему shell процессу. Т.е. грохается терминал - грохается сервис. Тут обычно помогает start-stop-daemon, либо реализуют background режим в сам бинарь приложения.

Заглянув в systemd-шные unit-файлы, я не понял буквально ничего.

[Unit]
Description=Dbus after suspend service

[Service]
ExecStart=/home/user/Scripts/dbus-after-suspend.py
WorkingDirectory=/home/user/Scripts

[Install]
WantedBy=default.target

Самый тупой systemd unit. Что тут не понятного? WantedBy, кстати говорит что должно триггерить запуск Unit-а, чтобы сервис запускался в нужно порядке.

Или немедленные извинения за безосновательное говнометание, или отправишься в игнор.

Требую извинения перед Поттерингом лично за вышесказанное.

три недели поноса и мучительную смерть.