Исправление 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