При запуске 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. До сих пор не ясно, почему это не приведет к созданию каких-либо файлов журналов.