Эта статья участвовала в приказе о созыве Haowen, нажмите, чтобы просмотреть: Заявки на бэк-энд и фронт-энд двойные, призовой фонд в 20 000 юаней ждет вас, чтобы бросить вызов!
Вечный ученик, практик и активный собеседник, приверженный пути развития технологий, оригинальный блогер, занятый и иногда ленивый, и подросток, которому иногда скучно, а иногда и смешно.
Добро пожаловать в поиск WeChat »ИТ-путешествие Джейка"обрати внимание на!
Оригинальная ссылка:Как запускать команды Linux в фоновом режиме?
предисловие
Обычно при запуске команды в терминале Linux нам приходится ждать завершения предыдущей команды, а затем вводить и выполнять следующую команду, которая называется запуском команды на переднем плане или в процессе переднего плана. на переднем плане, он займет вашу оболочку, и вы также сможете взаимодействовать с его терминалом, используя устройства ввода.
Что делать, если выполнение команды занимает много времени, а вы хотите одновременно выполнять другие команды?
- Первый:запустить новую сессию оболочки и выполнить в ней команды;
- второй:запустить команду в фоновом режиме;
Фоновые процессы — это процессы и команды, которые запускаются с терминала и выполняются в фоновом режиме без взаимодействия пользователя со своим терминалом;
1. Комбинации клавиш и команды
В качестве примера возьмем сжатый пакет httpd-2.2.17.tar.gz.Например, распаковка сжатого файла пакета на экране терминала занимает много времени, и даже пролистывание экрана для завершения процесса занимает много времени. декомпрессия, то мы можем нажатьCtrl+Z
Нажав комбинацию клавиш, вы можете приостановить операцию и скрыть ее в фоновом режиме, при этом будет возвращен порядковый номер остановки, в это время процесс приостановлен и больше не будет выполняться.
входитьbg
команда для продолжения выполнения задачи в фоновом режиме.
входитьfg + 序号
команда, чтобы вернуть процесс на передний план для выполнения.
Во время выполнения вы можете ввестиjobs
Команда для просмотра всех фоновых задач.
# tar -zxf httpd-2.2.17.tar.gz ## 解压 httpd 压缩包
^Z ## 按下 Ctrl+Z 组合键暂停
[1]+ Stopped tar -zxf httpd-2.2.17.tar.gz
# bg ## 输入 bg 命令,继续在后台运行
[1]+ tar -zxf httpd-2.2.17.tar.gz &
# jobs ## 查看所有的后台任务
[1]+ Done tar -zxf httpd-2.2.17.tar.gz
два,&
После выполнения команды добавить&
, чтобы он работал в фоновом режиме в терминале.
# ./yum_install.sh &
После выполнения вышеуказанной команды скрипт yum запускается в фоновом режиме.Хотя он работает в фоновом режиме, вывод все равно будет отображаться на терминале.Тогда мы можем перенаправить вывод выполненной команды в файл.
# ./yum_install.sh >> 202001141411out.txt 2>&1 &
Перенаправить результат выполнения на202001141411out.txt
файл,2>&1
Перенаправьте стандартную ошибку на стандартный вывод, чтобы судить, было ли выполнение файла сценария yum успешным или нет, нам просто нужно проверить202001141411out.txt
файл;
Если файл сценария выполнялся в течение определенного периода времени, он завис и не может продолжать работу, вы можете использовать первый метод:jobs
Заказ
# jobs -l
или использоватьps
Заказ
# ps -aux | grep yum_install.sh
3. нет
&
: Можно заставить команду работать в фоновом режиме.При закрытии консоли процесс тоже будет убит.Если вы хотите закрыть консоль, процесс все равно будет работать, то вам нужно использовать nohup.
nohup: не вешать трубку, что означает не вешать трубку.
Использовать в начале выполнения командыnohup
, когда консоль будет закрыта, процесс будет продолжать работать в фоновом режиме.
# nohup ./yum_install.sh &
как указано вышеnohup
Режим выполнения, при оценке того, был ли выполнен скрипт, команда может быть выполненаps -aux | grep yum_install.sh
Проверять;
В дополнение к этому, мы можем вывести результаты операции вnohup.log
файл, если перенаправление вывода не указано, файл журнала будет выводиться вnohup.out
документ;
# nohup ./yum_install.sh > nohup.log 2>&1 &
Рекомендуемое чтение
-
Как эффективно управлять сетью с помощью командной строки Linux?
-
Sao Operation | Как красиво записать видео в терминале Linux?
Оригинальность непростая.Если вы считаете, что эта статья полезна для вас, ставьте лайк, комментируйте или пересылайте эту статью, потому что это будет моей мотивацией выпускать больше качественных статей, спасибо!
Кстати, друзья-копатели, не забудьте дать мне бесплатный подписчик! На случай, если ты заблудишься и не сможешь найти меня в следующий раз.
Увидимся в следующий раз!