Держите программу работающей в терминале

8

Так что я хорошо знаю nohupи добавляю суффиксы к командам, &чтобы они уходили в фоновый режим.

Однако, если я запускаю графическое приложение - иногда использование ни того, ни другого, кажется, не справится с работой. Итак, что я могу добавить к программе / команде, чтобы она продолжала работать после закрытия терминала?

промышленные
источник

Ответы:

9

Если вы хотите, чтобы приложение продолжало работать при закрытии окна терминала, вы должны сделать:

nohup chromium-browser &

Вам нужно и то nohupи другое &.

  • nohup означает держать этот процесс / команду запущенной после закрытия оболочки.
  • & означает поместить этот процесс / команду в фоновый режим, чтобы он не блокировал оболочку (так что вы можете использовать его для чего-то другого.
отметка
источник
5

при запуске программы в фоновом режиме через оператор & она все еще привязана к вашему сеансу и может управляться с помощью fg, bg, jobs и disown.

У меня также были некоторые проблемы с nohup, но вы могли бы отречься от этого.

Когда вы запускаете программу в фоновом режиме, она имеет идентификатор задания:

gedit &
[1] 5647

Это число в скобках [] является интересным. Чтобы отключить его от вашего сеанса, запустите disown %nс этим номером. Для приведенного выше примера:

disown %1

Теперь вы можете безопасно выйти из терминала, и процесс не будет прекращен.

Axel
источник
2

Для графических приложений просто делать что-то подобное должно работать (по крайней мере, для меня)

chromium-browser&

Для терминальных приложений вы должны использовать что-то вроде screenили tmux.

JRG
источник
-1, поскольку это не будет работать для требования продолжать работу после закрытия терминала. +1 за предложение screen / tmux.
gertvdijk
@gertvdijk интересно, для приложений с графическим интерфейсом это работает для меня. Только что протестировал с помощью bash. У меня были случаи, когда zsh будет жаловаться, если я сделаю это, а затем попытаюсь выйти ...
jrg
Я использовал Konsole и запустил в нее Кейт с &добавлением. Кейт закроется впоследствии после закрытия Konsole.
gertvdijk
-1

Закройте терминал, с которого вы запустили графическую программу, с помощью

exit
Пользователь неизвестен
источник
Комментарий на downvote может быть полезным.
пользователь неизвестен