Я пытаюсь выполнить сценарий оболочки из systemd. Скрипт работает нормально из командной строки.
Сценарий (runServer.sh) запускает процесс Java и выглядит следующим образом:
#!/bin/bash
java -jar -Dresources=/home/pruss/dev/ServerDeploy5-4.1/Server/resources/MyServer.jar "0" "Test"
Внутри /usr/lib/systemd/system
(или /lib/systemd/system/
в других ОС) я создал служебный файл (myService.service):
[Unit]
Description=My Servers service
[Service]
ExecStart=/home/pruss/dev/ServerDeploy5-4.1/Server/runServer.sh
User=root
Type=oneshot
[Install]
WantedBy=multi-user.target
Результат
Job for myService.service failed. See "systemctl status myService.service" and "journalctl -xn" for details.
Я пытаюсь:
systemctl status myService.service
Loaded: loaded (/usr/lib/systemd/system/myService.service; disabled)
Active: failed (Result: exit-code) since Thu 2015-07-23 12:27:38 BST; 26s ago
Main PID: 28413 (code=exited, status=203/EXEC)
Ответы:
Вам может не понадобиться сценарий оболочки. Вы можете запустить процесс из файла myService.service, если вы используете полный путь к двоичному файлу java и файлу jar. Это должно выглядеть примерно так
Работает на CentOS 7.2.
источник
Не уверен, кто дал это большие пальцы вниз ..
Я нашел решение и опубликовал его, чтобы спасти других.
То, что вы видите выше, работает. Тем не менее, последний сервис, таким образом:
Важно отметить, что внутри скрипта мне нужно было указать полный путь к файлу .jar. java -jar /home/myprog.jar и т. д.
то есть ./myJar.jar не работает. Надеюсь, это поможет.
источник
Взгляните на мой ответ на stackoverflow, в котором подробно описано, как создать
systemd
сервис для приложения Java:/programming//a/22121547/272180
источник
Это мой шаблон systemd для Java-процесса
источник
У меня была такая же проблема (код = выход, статус = 203 / EXEC).
Не забудьте дать разрешение на выполнение скрипта вашему пользователю.
Вы можете изменить 777 на что-то более ограничительное.
или
Потом:
источник
Вам может понадобиться добавить WorkingDirectory =, чтобы он знал, откуда запускать вещи.
источник