Мне нужно сделать службу, работающую под TTY.
Пробовал миллион комбинаций и конфигураций, и все, что я пробовал, привело к тому, что служба вообще не запускалась, если в файле службы systemd определено значение StandardInput = tty / force-tty / or-something-I -pting.
Это одна из наиболее общих комбинаций, которые я пробовал:
[Unit]
Description=My service
After=getty.target
After=clone.service
Conflicts=getty@tty1.service
[Service]
User=my-service-user
Type=forking
ExecStart=/opt/mysoftware/javafile.war start
ExecStop=/opt/mysoftware/javafile.war stop
WorkingDirectory=/opt/mysoftware
StandardInput=tty
StandardOutput=tty
TTYPath=/dev/tty21
[Install]
WantedBy=multi-user.target
Когда StandardInput определен, я получаю такой статус:
[root@my-system ~]#systemctl status my.service
в—Џ my.service - My Service
Loaded: loaded (/usr/lib/systemd/system/my.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Mon 2020-05-11 16:57:01 EEST; 3s ago
Process: 2241 ExecStop=/opt/mysoftware/javafile.war stop (code=exited, status=0/SUCCESS)
Process: 2226 ExecStart=/opt/mysoftware/javafile.war start (code=exited, status=0/SUCCESS)
Main PID: 1941 (code=exited, status=143)
May 11 16:56:58 my-system.mydomain.com systemd[1]: Starting My Service...
May 11 16:57:01 my-system.mydomain.com systemd[1]: Started My Service.
После выхода команды systemctl ни один процесс не был запущен, и никакой значимый вывод не отображается. Еще одна попытка запустить службу выглядит так, как будто новые процессы разветвляются, но затем снова убиты / мертвы / не знаю, но не запущены.
[root@my-system ~]#systemctl status my.service
в—Џ my.service - My Service
Loaded: loaded (/usr/lib/systemd/system/my.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Mon 2020-05-11 17:16:05 EEST; 2s ago
Process: 2330 ExecStop=/opt/mysoftware/javafile.war stop (code=exited, status=0/SUCCESS)
Process: 2315 ExecStart=/opt/mysoftware/javafile.war start (code=exited, status=0/SUCCESS)
Main PID: 1941 (code=exited, status=143)
May 11 17:16:02 my-system.mydomain.com systemd[1]: Starting my Service...
May 11 17:16:05 my-system.mydomain.com systemd[1]: Started my Service.
Таким образом, некоторые процессы разветвляются, но «Основной PID» остается неизменным при всех попытках запустить службу, и я не знаю почему.