Подцепление на вилку systemd сценария

Ctrl-A, сопровождаемый буквой желание, отправляет последовательность Ctrl-A в оболочку.

Или Вы могли отобразить экранную командную клавишу на что-то другое, чем Ctrl-A

9
21.04.2014, 03:53
2 ответа

systemd имеет отличную документацию. См. Страницу в служебных файлах :

Если задано форкование, ожидается, что процесс, настроенный с помощью ExecStart =, вызовет fork () как часть своего запуска. Ожидается, что родительский процесс завершится после завершения запуска и настройки всех каналов связи. Потомок продолжает работать как главный процесс-демон. Это поведение традиционных демонов UNIX. Если используется этот параметр, рекомендуется также использовать параметр PIDFile =, чтобы systemd могла идентифицировать основной процесс демона. systemd продолжит запуск последующих модулей, как только родительский процесс завершится.

Таким образом, использование этого типа просто скажет systemd подождать, пока swamp не вернется, а затем будет считать, что он все еще работает: выполнение этого остается вашей ответственностью ...

14
27.01.2020, 20:05

Если вы хотите, чтобы systemd обрабатывал разветвление, вам следует использовать, например,. Type=simpleили Type=notify. Затем systemd сделает за вас разветвление.

Если вы можете изменить исполняемый файл swamp, тогда Type=notifyбудет лучшим решением. Затем исполняемый файл должен уведомить systemd об успешной инициализации. Это означает, что systemctl start swampбудет ждать инициализации swamp при вызове из командной строки и выводить любое сообщение об ошибке при инициализации в командной строке, что обычно и требуется.

Пример исполняемого файла, написанного для использования Type=notify, см. в следующем сценарии оболочки:

#!/bin/bash                                                                     
sleep 3
systemd-notify READY=1
sleep 1000000
1
27.01.2020, 20:05

Теги

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