Я не уверен, как и почему это происходит, но иногда, когда я открываю программы через терминал, терминал продолжает прикрепляться к программе. Я могу понять это для таких вещей, как "sudo nautilus", но для обычных программ это чрезвычайно раздражает.
Я не могу отсоединить терминал от программы, потому что если я нажимаю ctrl+c, то программа закрывается, а если я выхожу из терминала, то программа тоже закрывается.
Несколько вопросов:
Если я прошу слишком многого, то я понимаю. В таком случае я даже не знаю, как найти ответ в гугле, так что если вы можете указать мне на какие-либо ресурсы, где об этом говорится, или дать мне имя функции, которая происходит, это было бы здорово.
Спасибо.
Чтобы объяснить это простыми словами, когда вы запускаете сценарий или приложение из терминала, обычно вам нужно получить некоторую информацию о том, что они делают. Во время этого процесса вы не можете выполнять другие команды. Это процесс переднего плана. Но есть случаи, когда вы просто хотите запустить приложение, а оно работает за сценой, что называется Фоновым процессом.
Чтобы запустить приложение и отправить его в фоновый режим, просто добавьте & в конце вашей команды.
12160] Но если ваше приложение уже запущено, вы можете отправить его в фоновый режим, используя Ctrl + Z . В этом случае вы можете использовать команду fg
, чтобы вернуть процесс на передний план.
Вам лучше подготовиться к этому заранее при запуске программы.
Есть ряд опций, которые вы можете использовать при запуске. Вы можете запустить его, используя параметр nohup , тогда как он будет продолжать работать, если вы отправите его в фоновый режим и закроете терминал.
Есть параметр Экран . Экран - это приложение. По умолчанию он не установлен. Вы можете установить его с помощью:
$ sudo apt install screen
Затем вы можете запустить сеанс экрана, запустив screen
на терминале.
$ screen
Находясь в screen , вы можете вызвать экран справки, нажав сочетание клавиш: Ctl + A , затем нажмите ? . Ctl + A переводит экран в режим прослушивания для команды, которой будет следовать клавиша.
Приложения, запущенные в экранном терминале, будут продолжать работать, когда вы закроете терминал. Вы можете подключиться к экранному терминалу при другом входе в систему ... даже с другого компьютера и продолжить работу с приложением.
Экран имеет описанные вами функции отсоединения
и повторного подключения
в вашем вопросе.
Примечания:
Чтобы отсоединить рабочий экран терминала, просто закройте его. Чтобы прикрепить терминал к предыдущему отсоединенному экрану, выполните следующие действия:
$ screen -list
$ screen -D -r [desired detached screen]