Java Subprocess не удается только при использовании в качестве SystemD ServiceLinux

Ответить
Anonymous
 Java Subprocess не удается только при использовании в качестве SystemD Service

Сообщение Anonymous »

Я пытаюсь запустить Socat как подпроцесс Java. Это две версии, которые я пробовал: < /p>

Код: Выделить всё

ProcessBuilder builder = new ProcessBuilder().command("socat", "-", "UNIX-SENDTO:" + socketPath);

Код: Выделить всё

ProcessBuilder builder = new ProcessBuilder().command("/usr/bin/socat", "-", "UNIX-SENDTO:" + socketPath);

В обоих случаях я могу запустить код вручную в терминале, как пользователь MyApp , и он работает, но когда я запускаю его как системную службу, я получаю одно из этих сообщений об ошибках соответственно.

Код: Выделить всё

Failed to notify watchdog: Cannot run program "socat": error=2, No such file or directory

Код: Выделить всё

Failed to notify watchdog: Cannot run program "/usr/bin/socat": error=2, No such file or directory

У меня есть этот файл блока:

Код: Выделить всё

[Unit]
Description=MyApp
[Service]
User=myapp
PermissionsStartOnly=true
WorkingDirectory=/opt/myapp/
Environment=DISPLAY=:0
ExecStartPre=/opt/myapp/myapp-prestart.py
ExecStart=/opt/myapp/myapp.sh
Restart=always
WatchdogSec=5
NotifyAccess=all

[Install]
WantedBy=graphical.target
< /code>
myapp.sh
-это простой запуск сценария Bash, содержащий Java -jar myApp.jar .
Что здесь может быть не так? Моей первой мыслью была среда, но это не должно быть проблемой с абсолютным путем. Есть ли что-то еще, что могло бы отличаться, когда процесс запускается SystemD? Никаких других приложений или сценариев оболочки, которые я создаю, не имеют проблем с поиском исполняемых файлов, с абсолютными путями или без него.

Подробнее здесь: https://stackoverflow.com/questions/797 ... md-service
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»