4

Запуск приложения в фоновом режиме можно выполнить, добавив амперсанд («&») в конце приложения или через экран (открыв сеанс экрана), если приложению требуется время от времени вводить данные.

Есть ли какая-либо другая выгода помимо вышеупомянутой (добавление ввода в приложение)?

Мне любопытно, есть ли какая-либо другая выгода от перспективы детализации низкого уровня - например, я предполагаю, что изменения для приложения, которое должно быть закрыто ядром, немного малы, если оно запускается через экран, а не с & в конце.

2 ответа2

6

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

Программа также прекратит работу, если вы выйдете из системы, если вы не используете команду nohup . Это будет захватывать сигнал 1 (HangUP) и записывать весь вывод в файл.

Если вам нужно вводить время от времени, то есть три варианта:

  1. Вручную вывести программу на передний план с помощью fg .
    Или FG Jobnumber . (См. jobs). Недостатки: 1) Дополнительная работа 2) Откуда вы знаете, что она ожидает ввода, если вы не указали -f nohup.out?
  2. Используйте экран.
  3. Используйте tmux.
4

Если вы запустите его на экране, вы можете закрыть свой терминал, и он все еще работает.

Если вы запустите его через «&», приложение получит команду HUP, что приведет к его завершению, если вы закроете свой текущий терминал.

Вы можете комбинировать это с nohup:

nohup /bin/mycommand &

чтобы это продолжалось.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .