1

Я добавил сценарий оболочки при запуске с помощью следующей команды:

su - root -c "/usr/bin/screen -dmS SomeServer java -jar /home/SomeServer.jar"

Когда я обычно запускаю эту команду, screen создается и работает. Но когда я использую screen -ls после перезагрузки, я ничего не вижу.

Интересно, что SomeServer.jar имеет встроенный http-сервер, и когда я использую netstat я вижу процесс Java, прослушивающий этот порт.

Я использую Ubuntu 14.04.

2 ответа2

0

Я не могу видеть , как вышеприведенная команда, возможно , будет работать на Ubuntu: ИНГ су»в корне запросит пароль суперпользователя. Удачи в поиске этого в Ubuntu.

Приведенная выше команда должна быть вместо:

 sudo /usr/bin/screen -dmS SomeServer java -jar /home/SomeServer.jar

без кавычек. Я также должен спросить вас: если вы создали сценарий запуска для этого, зачем вам выполнять вышеуказанную команду от имени пользователя root? Это будет выполнено как таковое автоматически, даже если вы включите строку выше без спецификатора sudo в /etc/rc.local, быстрый и грязный способ начать это при загрузке.

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

0

Предполагая, что "перезагрузка" не была ошибкой в вашем сообщении, ваша проблема в том, что экраны не сохраняются в течение циклов перезагрузки.

Если это было ошибкой и вы фактически не перезагрузились, то, скорее всего, вы не используете screen -ls от имени root - screen покажет только активные сеансы экрана для вашего текущего пользователя. Используйте sudo su - чтобы переключиться на root, а затем повторите попытку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .