На этот вопрос уже есть ответ здесь:
Я изучаю разные типы команд Ubuntu, и есть команда, которая это
[команда] &
- запуститеи отправьте задачу { {1}} в фон
Я не понимаю эту команду. Расскажите, пожалуйста, о команде подробнее на примере.
Это просто говорит, что добавление &
после команды запускает эту команду в фоновом режиме. Пример:
sleep 10
Это будет ждать 10 секунд, прежде чем вы вернетесь к приглашению. Добавьте &
после него, и вы сразу получите подсказку.
То, что этот фрагмент (я полагаю, руководство по Bash?) Хочет сказать вам просто, что вы можете запустить любую другую терминальную команду в фоновом режиме, добавив &
к ее концу.
Фон означает, что команда начнет выполняться, но затем ее ввод будет отключен от терминала, и вместо этого вы вернетесь к приглашению оболочки, так что вы сможете запускать другие команды, в то время как предыдущая может быть активной.
Команды в фоновом режиме могут по-прежнему производить вывод, который затем отображается в терминале. Это может сбить с толку, если несколько команд выдают результат одновременно и затем смешиваются.
Вы можете вернуть последнюю команду на задний план обратно на передний план, чтобы взаимодействовать с ней, набрав команду fg
.
здесь &
- символ, который заставляет команду выполняться в фоновом режиме
, если &
дается в конце команды, он выполняет команду в фоновом режиме в другом подоболочке и выводит вывод на терминал как он завершен Пр
$ ls &
[3] 23204
2048 Documents github Public test.js
здесь 23204 - это PID фоновой задачи
Примечание: - Фоновый процесс не останется живым после закрытия сеанса оболочки , SIGHUP завершает все запущенные процессы.
Как говорится в других ответах, он запускает команду в фоновом режиме, что означает, что он не ожидает завершения этой команды, прежде чем позволить вам вводить больше команд.
Однако я не думаю, что примеры, приведенные в других ответах, очень полезны. Для большинства людей фоновая обработка наиболее полезна, если вы работаете в оконной системе. Откройте окно терминала и введите команду
xterm
. Откроется второе окно терминала, в котором вы можете ввести больше команд. Оставьте это второе окно открытым и вернитесь к первому. Вы увидите, что больше не можете вводить там команды, потому что она ожидает завершения команды xterm
. Закройте второе окно (щелкните его значок закрытия или введите exit
или нажмите ctrl-D в командной строке), и вы увидите, что первое окно возвращается к жизни.
Теперь, введите команду
xterm &
Опять же, это откроет новое окно, но, если вы вернетесь к первому, вы можете выполнить там больше команд, даже если вторая открыт.