Как избежать / usr / bin / env помечается в журналах systemd как исполняемый файл

Я создал службу systemd для запуска приложения tomcat на основе информации, найденной в этой статье . В короткой версии статьи рекомендуется избегать оболочек сценариев оболочки и напрямую запускать java с соответствующей средой и командной строкой.

Вот весь сервис systemd (с замененным именем приложения):

[Unit] Description=MyApp Tomcat Container [Service] EnvironmentFile=/opt/myapp/environment ExecStart=/usr/bin/env ${JAVA_HOME}/bin/java $JAVA_OPTS $CATALINA_OPTS \ -classpath ${CLASSPATH} \ -Dcatalina.base=${CATALINA_BASE} \ -Dcatalina.home=${CATALINA_HOME} \ -Djava.endorsed.dirs=${JAVA_ENDORSED_DIRS} \ -Djava.io.tmpdir=${CATALINA_TMPDIR} \ -Djava.util.logging.config.file=${CATALINA_BASE}/conf/logging.properties \ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ org.apache.catalina.startup.Bootstrap start ExecStop=/usr/bin/env $JAVA_HOME/bin/java $JAVA_OPTS \ -classpath $CLASSPATH \ -Dcatalina.base=$CATALINA_BASE \ -Dcatalina.home=$CATALINA_HOME \ -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \ -Djava.io.tmpdir=$CATALINA_TMPDIR \ -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ org.apache.catalina.startup.Bootstrap stop [Install] WantedBy=multi-user.target 

Насколько мне известно, это работает довольно хорошо. Служба запускает, останавливает и сообщает статус отчета правильно. Проблема, с которой я journalctl с журналами, о которых сообщает journalctl :

 # journalctl -u myapp.service --since today Sep 14 00:26:00 myserver.domain.com env[654]: MyApp:2015-09-14 00:26:00: INFO Detail irrelevant Sep 14 00:26:00 myserver.domain.com env[654]: MyApp:2015-09-14 00:26:00: INFO Detail irrelevant Sep 14 00:26:17 myserver.domain.com env[654]: MyApp:2015-09-14 00:26:17: INFO Detail irrelevant 

См. Здесь, что env записывается как исполняемый исполняемый файл. Я бы предпочел видеть java как исполняемый файл, считая, что это программа, на которую мы действительно заботимся. env – шум. Я заметил довольно много разных системных файлов systemd, которые рекомендуют префикс команды запуска с помощью /usr/bin/env , поэтому я предположил, что могу найти некоторую информацию о произведенных журналах. Очевидно нет.

Могу ли я сообщить исполняемый файл как java а не env , используя тот же шаблон выполнения java напрямую (не обертки startup.sh)?

За дополнительными очками мне бы понравились подсказки и советы о том, что мой служебный файл может отсутствовать. Это первый раз, когда я написал службу systemd, и очень хочу узнать больше о лучших практиках.

Interesting Posts

Как получить имя пользователя, выполнившего скрипт bash как sudo?

TTY заливается кнопкой, которая не существует, удерживается нажатой

Docear on Kubuntu 12.04 64

Игнорировать переменную GET из ссылок, при загрузке веб-сайта в автономном режиме

Текстовый режим Solaris 11 после загрузки

Как отключить USB-накопитель из скрипта, который находится на USB-накопителе?

изменить путь кэширования кэша для APT

Команда netcat не может получить доступ к открытому порту

Как объединить таблицы из разных каталогов только с одним заголовком

Редактирование bash $ PATH

Zsh auto complete предлагает полные функции (_git _vim и т. Д.)

Прокрутка отключена внезапно в терминале

Как установить переменную пользовательской среды? (постоянно, а не сеанс)

Как использовать завершение команды bash, чтобы завершились только файлы в определенном каталоге?

Чтение сеанса экрана GNU без привязки к нему

Linux и Unix - лучшая ОС в мире.