LINUX.ORG.RU

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

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

Отлично. Тогда так:

mydaemon.service:

[Service]
ExecStart=/path/to/mydaemon ${EXTRA}
ExecStartPost=/bin/rm -f /run/mydaemon/extra
#ExecStop= # не нужно, само прибьётся
EnvironmentFile=/run/mydaemon/extra

mydaemon-reinit.service:

[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo EXTRA=--reinit > /run/mydaemon/extra"
ExecStart=/usr/bin/systemctl restart mydaemon

Да, дополнительные действия (кроме start, restart, reload) в юниты не добавить. Этому вполне есть обоснование.

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

Отлично. Тогда так:

mydaemon.service:

[Service]
ExecStart=/path/to/mydaemon ${EXTRA}
ExecStartPost=/bin/rm -f /run/mydaemon/extra
#ExecStop= # не нужно, само прибьётся
EnvironmentFile=/run/mydaemon/extra

mydaemon-reinit.service:

[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo EXTRA=--reinit > /run/mydaemon/extra"
ExecStart=/usr/bin/systemctl restart mydaemon

Да, дополнительные действия (кроме start, restart, reload) в юниты не добавить. Этому вполне есть причина.

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

Отлично. Тогда так:

mydaemon.service:

[Service]
Type=forking # или не forking, не суть
ExecStart=/path/to/mydaemon ${EXTRA}
ExecStartPost=/bin/rm -f /run/mydaemon/extra
#ExecStop= # не нужно, само прибьётся
EnvironmentFile=/run/mydaemon/extra

mydaemon-reinit.service:

Type=oneshot
ExecStart=/bin/sh -c "echo EXTRA=--reinit > /run/mydaemon/extra"
ExecStart=/usr/bin/systemctl restart mydaemon

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

Отлично. Тогда так:

mydaemon.service:

[Service]
Type=forking # или не forking, не суть
ExecStart=/path/to/mydaemon ${EXTRA}
ExecStartPost=/bin/rm -f /run/mydaemon/extra
#ExecStop= # не нужно, само прибьётся
EnvironmentFile=/run/mydaemon/extra

mydaemon-reinit.service:

Type=oneshot
ExecStart=/bin/sh -c "echo --reinit > /run/mydaemon/extra"
ExecStart=/usr/bin/systemctl restart mydaemon