Краткий ответ
В не отвечающем терминале:
- Хит Ctrl+ Z.
- Введите
bg
и введите.
- Введите
disown
и введите.
Длинный ответ
В неотвечающем терминале нажмите Ctrl+ Z, это «приостановит» процесс (или «задание») и вернет вам консольный элемент управления. Однако вы заметите, что он gedit
перестает отвечать, и вы не можете его использовать.
Дополнительно : если вы хотите, вы можете выполнить команду jobs
, вы заметите, что она будет читать Остановлено для gedit
команды, поэтому вы не можете ее использовать.
Для успешного выполнения задания в фоновом режиме (т. gedit
Е. Для повторного реагирования) выполните команду bg
(имеется в виду фон). Теперь вы сможете использовать gedit
, и в то же время иметь подсказку для себя.
Дополнительно : теперь, если вы выполните jobs
, вы заметите, что он будет читать Запуск .
Вы можете преодолеть все это с самого начала. Когда вы запускаете gedit
из терминала, добавьте &
в конец команды, так что-то вроде этого gedit /path/to/file &
. Он запустится gedit
в фоновом режиме с первого места (вам может понадобиться нажать Enterпару раз, чтобы вернуть управление консоли).
Дополнительно : если вы следили за этими дополнительными заметками, вы могли заметить, что во второй раз вы jobs
заметили, что bash добавил a &
в конец gedit
команды.
Как только вы привыкнете к этой системе, вы можете заметить, что если вы закроете терминал, gedit также прекратит работу даже без диалогового окна подтверждения. Чтобы этого не происходило, запустите disown
команду, которая отсоединит процесс gedit от терминала, удалив его из списка, возвращаемого jobs
.
Просто введите:
gedit <filename-to-edit> &
Это немедленно вернет вам командную строку.
источник
Вы можете использовать,
nohup
чтобы предотвратить подключение GUI к терминалу:Это позволит вам закрыть терминал, с которого вы запускаете, без закрытия программы.
Вы также должны заметить, что команда nohup создаст файл с командой
stdout
иstderr
командой, которую вы запускаете. Если вы хотите предотвратить это, добавьте&>/dev/null
перед&
.источник
nohup.out
содержащий выходные данные команды. Это полезно, если вы хотите просмотреть сообщения об ошибках. Если вы не хотите, чтобы файл был создан, добавьте перенаправление следующим образом:nohup mupdf some.pdf &>/dev/null &
Вы также можете использовать
disown
команду. Это особенно полезно, когда вы уже начали процесс, который больше не хотите подключать к терминалу.Основная процедура, если я правильно помню, это что-то вроде этого:
Обратите внимание, что отречение является
bash
специфическим.Этот пост в блоге объясняет оба метода довольно хорошо.
Man страница для отречься
источник
firefox & disown
От
man gedit
:Итак, если вы запустите
gedit
с-b
параметром, он запустится в фоновом режиме:Более того, затем вы можете создать псевдоним для
gedit -b
(смотрите здесь, как создать постоянный псевдоним):Отныне, в будущем вы можете использовать
gedit [FILE-NAME]
как обычно, и это начнется в фоновом режиме.источник
Просто введите:
Завершение команды с помощью
&
in bash запускает эту команду в фоновом режиме. Однако этот процесс все еще привязан к терминалу.БезОказывается, я был неправ, это не относится к Bash, но это относится к Zsh. Вы все еще должны бежатьdisown
, если вы закроете терминал, gedit закроется, даже не предложив вам сохранить отредактированный файл.disown
отсоединяет фоновый процесс от текущего терминала, так что если вы закроете терминал, gedit продолжит работать в обычном режиме.detach
после выполнения ctrl- zиbg
, тем не менее, даже в bash.Вы можете узнать больше о встроенных модулях
jobs
,disown
и&
метасимволе в страницах руководства дляbash
команды , особенно в разделе под названием «Контроль работы».источник
disown
я смог держать гедит открытым после закрытия терминала. Я не понял, что вы сказали о том, что «это не относится к bash, но это относится к zsh»Это, вероятно, потому что вы открыли Gedit через терминал. Когда вы делаете это, вы видите вывод командной строки, который обычно скрыт, если запущен через графический интерфейс. Лучший способ исправить это - открыть новое окно терминала. Другой станет доступным после закрытия Gedit. Вы также можете использовать переключатель, предложенный выше пользователем.
источник