Ctrl-A, сопровождаемый буквой желание, отправляет последовательность Ctrl-A в оболочку.
Или Вы могли отобразить экранную командную клавишу на что-то другое, чем Ctrl-A
systemd имеет отличную документацию. См. Страницу в служебных файлах :
Если задано форкование, ожидается, что процесс, настроенный с помощью ExecStart =, вызовет fork () как часть своего запуска. Ожидается, что родительский процесс завершится после завершения запуска и настройки всех каналов связи. Потомок продолжает работать как главный процесс-демон. Это поведение традиционных демонов UNIX. Если используется этот параметр, рекомендуется также использовать параметр PIDFile =, чтобы systemd могла идентифицировать основной процесс демона. systemd продолжит запуск последующих модулей, как только родительский процесс завершится.
Таким образом, использование этого типа
просто скажет systemd подождать, пока swamp
не вернется, а затем будет считать, что он все еще работает: выполнение этого остается вашей ответственностью ...
Если вы хотите, чтобы 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