При запуске java-программы через systemd в Ubuntu файлы журнала не создаются

ОС -> Ubuntu 16.04 x64

Когда следующая Java-программа запускается как <user> из командной строки выдает файлы журнала в каталоге внутри </home/user> как настроено в файле свойств ведения журнала утилит Java, переданном в качестве системного параметра.

nohup java -Duser.home=<home/<user>> -Djava.util.logging.config.file=/home/<user>/<path_to_logging.properties> -cp <jarname>.jar <MainClass> >> /dev/null 2>>/dev/null &

Однако, когда запускается та же программа, что и в следующем модуле systemd, программа работает нормально (может видеть выходные данные, когда она передана в файл вместо /dev/null), но файлы журнала не создаются!!

[Unit]
Description=Daemon Desc

[Service]
WorkingDirectory=/home/<user>/<app>
ExecStart=/usr/share/java -Duser.home=/home/<user> -Djava.util.logging.config.file=/home/<user>/<path_to_logging.properties> -cp <jarname>.jar <MainClass>

User=<user>

[Install]
WantedBy=multi-user.target

Любая помощь будет высоко ценится.

1 ответ

Исправлено путем вызова сценария оболочки, который запускает java-программу, а не вызывает java напрямую из службы systemd. До сих пор не ясно, почему это не приведет к созданию каких-либо файлов журналов.

Другие вопросы по тегам