Мой экранный процесс продолжится после того, как я выйду из системы?

Я открыл экран как пользователь root путем ввода sudo su - и затем screen. Я затем выполнил команду для запуска моего сервера Minecraft.

После этого я отсоединил экран путем нажатия Ctrl-A и d. Будет процесс (мой сервер) продолжает бежать, я выхожу из своего компьютера (не выключая его, очевидно)?

2
задан 8 December 2016 в 22:36

2 ответа

Да это - один из основных моментов экрана гну. Можно проверить, что экранная сессия все еще бежит за отсоединением yuo это как раз когда обычный пользователь с pgrep screen. Вы могли альтернативно выполнить pgrep Minecraft. Я не знаю, что команда запускает Minecraft, но можно проверить, что процесс работает с pgrep за процессом сервера Minecraft, но я не знаю команду.

0
ответ дан 2 December 2019 в 02:49

Экран предназначен, чтобы сделать точно это. Можно протестировать это заранее путем выполнения этого:

$ sudo su -- # Note that you should use 2 dashes, here, if you use any (you don't have to, `sudo su` would do the same thing).
# screen
# # Press [enter].
# sleep 100 && echo foo
# # Press [ctrl]+[A], then [D].
# # Press [ctrl]+[D].
$ sudo su
# screen -r
# # You'll be shown the line you entered before, again. After some time (100 seconds after you entered the 4th line), "foo" will be printed.

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

В первой строке Вы входите в систему как корень. Необходимо, вероятно, выяснить, необходимо ли выполнить сервер Minecraft как корень.

Во второй строке Вы входите screen.

Нажатие Enter должно только сделать текстовые экранные шоу Вами, когда Вы открываетесь, это без параметров уходит.

В 4-й строке выполняется команда, символизирующая Ваш сервер Minecraft. Это спит в течение 100 секунд и затем печатает "нечто".

Путем нажатия crtl+A и затем D, Вы разъединяетесь с экрана в 5-й строке.

В 6-й строке Вы разъединяетесь от терминального сеанса путем нажатия ctrl+D. Обратите внимание, что это оставляет Ваш терминал открытым, поскольку Вы зарегистрированы как обычный пользователь на более низком уровне. Вы только разъединяетесь от терминального сеанса на верхнем уровне. То, что вы выходили из системы как корень и может также использовать exit сделать это, если это помогает Вам понять, что Вы действительно выходите из системы. Можно выйти из системы как обычный пользователь, также. Просто нажмите ctrl+D, снова. Если это будет самым низким уровнем, и Вы находитесь на tty, то Вам покажут экран входа в систему, снова. Если это будет самый низкий уровень, и Вы используете эмулятор терминала, то окно терминала закроется. Нет абсолютно никакой проблемы с этим.

В 7-й строке Вы входите в систему как корень, снова.

В 8-й строке происходит волшебство. Вы звоните screen с флагом r который, как взято от screenстраница справочника (выполненный man screen) средства:

Повторно прикрепите сессию и если необходимое отсоединение это сначала.

Поскольку у Вас только есть одна сессия в screen, Вы возвращаетесь к правильному.

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

3
ответ дан 2 December 2019 в 02:49

Другие вопросы по тегам:

Похожие вопросы: