(16.04) Как "отсоединить" программы от терминала? [duplicate]

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

Я не могу отсоединить терминал от программы, потому что если я нажимаю ctrl+c, то программа закрывается, а если я выхожу из терминала, то программа тоже закрывается.

Несколько вопросов:

  • Почему это происходит?
  • Как мне вручную активировать/деактивировать эту функцию?
  • Как мне отсоединить терминал от программы?

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

Спасибо.

2
задан 26 February 2017 в 01:57

2 ответа

Чтобы объяснить это простыми словами, когда вы запускаете сценарий или приложение из терминала, обычно вам нужно получить некоторую информацию о том, что они делают. Во время этого процесса вы не можете выполнять другие команды. Это процесс переднего плана. Но есть случаи, когда вы просто хотите запустить приложение, а оно работает за сценой, что называется Фоновым процессом.

Чтобы запустить приложение и отправить его в фоновый режим, просто добавьте & в конце вашей команды.

12160] Но если ваше приложение уже запущено, вы можете отправить его в фоновый режим, используя Ctrl + Z . В этом случае вы можете использовать команду fg , чтобы вернуть процесс на передний план.

0
ответ дан 2 December 2019 в 04:50

Вам лучше подготовиться к этому заранее при запуске программы.

Есть ряд опций, которые вы можете использовать при запуске. Вы можете запустить его, используя параметр nohup , тогда как он будет продолжать работать, если вы отправите его в фоновый режим и закроете терминал.

Есть параметр Экран . Экран - это приложение. По умолчанию он не установлен. Вы можете установить его с помощью:

$ sudo apt install screen

Затем вы можете запустить сеанс экрана, запустив screen на терминале.

$ screen

Находясь в screen , вы можете вызвать экран справки, нажав сочетание клавиш: Ctl + A , затем нажмите ? . Ctl + A переводит экран в режим прослушивания для команды, которой будет следовать клавиша.

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

Экран имеет описанные вами функции отсоединения и повторного подключения в вашем вопросе.

Примечания:

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

  • Найдите экран, к которому вы хотите прикрепить:
$ screen -list
  • Используйте один из вариантов присоединения, чтобы присоединить к одному из списка:
$ screen -D -r [desired detached screen]
1
ответ дан 2 December 2019 в 04:50

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

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