Я пытаюсь запустить java-программу внутри сеанса экрана при загрузке, я использую следующий cron, но после перезагрузки screen -ls не показывает активных сеансов экрана.
@reboot /usr/bin/screen -dmS myservice "java -jar /home/david/myservice/MyService-0.0.1-SNAPSHOT.jar"
Есть идеи, что я делаю неправильно?
РЕДАКТИРОВАТЬ:
Я изменил его на следующее, и теперь экран запускается при загрузке.
@reboot /usr/bin/screen -dmS myservice && "java -jar /home/david/myservice/MyService-0.0.1-SNAPSHOT.jar"
я добавил &&
перед запуском команды java, а не при загрузке экрана. Но программа все еще не запущена.
но при подключении к экрану программа не запускается. после прикрепления к экрану я вижу только знак доллара.
Возможно, ваш дистрибутив или ваша реализация cron
, не поддерживает @reboot
вообще, или полностью, или для всех пользователей. Это непростой вопрос.
screen
тоже может быть не лучшим способом запуска службы, но в любом случае я бы порекомендовал альтернативу cron
для этого. Этот учебник охватывает инициализацию служб при загрузке в нескольких различных конфигурациях системы и может быть тем, что вам нужно.