Выполните команду в терминале и не ждите ее возврата

Мне нужно запустить браузер Firefox из терминала. Браузер работает нормально, но терминал все еще ожидает возврата Firefox, и если я нажимаю CTRL+C, он завершает работу Firefox. Как запустить команду, чтобы Firefox работал независимо от терминала?

3 ответа

Решение

Firefox 35 в Ubuntu 14.04 отсоединяется от оболочки, но при этом все равно выдает ошибки, чтобы устранить эту ошибку, попробуйте:

firefox >/dev/null 2>&1 www.google.com &


>/dev/null делает поток текста Firefox'stdout' отправленным в никуда,
2>&1 заставляет 'stderr' отправляться в то же место,
& отсоединяет Firefox от оболочки.

С Bash "контроль работы" над продолжительным процессом, например, найти на / как в:

find -printf "%p\n" / >$HOME/LIST-OF-FILES.txt

... в любое время до его завершения вы можете сделать это:
Удерживайте Ctrl и нажмите Z

[1]+  Stopped                 find ...

будет напечатан, и приглашение оболочки появится снова...
тип bg и нажмите Enter, чтобы найти продолжить работать в фоновом режиме.
Обратите внимание, что ошибки и предупреждения по-прежнему будут печататься, как в...

find: /run/lightdm: Permission denied

Чтобы те не появлялись, добавьте 2>/dev/null в командной строке.

Еще одна альтернатива для запуска программного обеспечения на основе графического интерфейса

xdg-open firefox ...

... это больше похоже на фактическое нажатие на иконку в вашей ОС.

ПРИМЕЧАНИЕ: Ubuntu. Существуют различные варианты этого для других вариантов Linux и MacOS.

Посмотрите "контроль работы" в http://www.tldp.org/LDP/abs/html/abs-guide.html - для получения дополнительной информации.

Использование

firefox &

Это создаст процесс Firefox в фоновом режиме, и вы можете работать в терминале

Ctrl+Z - это то, что вы ищете, а затем введите bg Войти

В качестве альтернативы (но вам придется привыкнуть к этому), набрав firefox& вместо firefoxCtrl+Z bg Войти

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