Проблема с настройкой службы systemd для запуска экрана при перезагрузке

авк,использование опции -vдля передачи переменных оболочки в переменные awk:

$ awk -v from="$FROM" -v to="$TO" 'from <= $1 && $1 <= to && /ERROR/' log.txt
2018-06-26 00:00:20,073 ERROR SAMPLE TEXT CONTENT
2018-06-26 17:37:20,073 ERROR SAMPLE TEXT CONTENT
2018-06-28 00:00:20,073 ERROR SAMPLE TEXT CONTENT
2018-06-29 00:00:20,073 ERROR SAMPLE TEXT CONTENT
2018-07-01 11:00:20,073 ERROR SAMPLE TEXT CONTENT
2018-07-02 00:00:20,073 ERROR SAMPLE TEXT CONTENT
2
08.02.2020, 11:39
2 ответа

Добавление :«RemainAfterExit=yes» в раздел [Service] позволит экрану оставаться открытым.

3
28.04.2021, 23:24

Проблема, вероятно, exec bashв конце. bashне получает входных данных и, следовательно, завершает работу. Если вы выполняете exec любой оболочки, это делает то же самое :, не остается ввода, поэтому оболочка завершает работу.

Но, что более важно, :зачем использовать screen? В чем тут преимущество?

В чем проблема просто позволить systemd выполнить перезапуск?

[Unit]
Description=Start blogpatcher server  
After=network.target

[Service]   
Type=simple
ExecStart=/usr/bin/bash /home/blogpatc/script/blogpatcher.sh
TimeoutStartSec=90
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

и

#!/bin/bash
cd /home/blogpatc/server/
java -cp bloghelper_artifact_main.jar com.aperico.bloghelper.server.ThesaurusServer

Systemd имеет множество дополнительных параметров и возможностей. Вы можете прочитать о них -. Например, если сценарий используется только для установки рабочего каталога (, а не в качестве начала для более сложного сценария запуска -, как я предполагал ), вы можете посмотреть на WorkingDirectory, поскольку JdeBP предложил в комментариях.

Если вы настаиваете на том, чтобы screenиспользовалось в сценарии запуска -up, тогда служебная часть вашего юнит-файла, вероятно, должна выглядеть примерно так:

[Service]
Type=simple
Restart=on-failure
WorkingDirectory=/home/blogpatc/server/
RestartSec=3
ExecStart=/usr/bin/screen -L -dm java -cp bloghelper_artifact_main.jar com.aperico.bloghelper.server.ThesaurusServer

или исследуйте Type=forkingвместо Type=simple.

0
28.04.2021, 23:24

Теги

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