Рубрики
Без рубрики

Как управлять фоновыми процессами в Linux

Если вы новичок в операционной системе Linux, и вы запускаете команду или процесс, используя терминал / сеанс, Y … Tagged с Linux, Ubuntu, JavaScript, Python.

Если вы новичок в операционной системе Linux, и вы запускаете команду или процесс, используя терминал/сеанс, вы, должно быть, заметили, что вам нужно подождать, пока не закончится процесс или команда, прежде чем запустить другую команду. Это потому, что при запуске команды используя сеанс или терминал, процесс начинается на переднем плане по умолчанию. Что вы должны сделать, чтобы запустить другую команду, не открывая новый терминал? В этом посте я собираюсь показать, как вы можете управлять фоном и процессом переднего плана в Linux.

Но до этого давайте понять, что такое процесс переднего плана и что такое фоновый процесс.

Процесс переднего плана это процесс или работа, которая в данный момент работает на терминале. Таким образом, будет только один процесс переднего плана на терминал. Вам нужно подождать, пока текущий процесс переднего плана не заканчивается до начала нового процесса переднего плана. ** Пример: ** Любая команда или процесс, который вы начинаете в текущем сеансе

Фоновый процесс Это процесс или работа, работающие на заднем плане и не требуют взаимодействия от пользователя. Может быть более одного фонового процесса, очевидно. Пример: Наиболее распространенным примером является ваш веб-сервер.

Для этого примера я собираюсь запустить команду VMStat 1

shaikh@shaikhu-com:~$ vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 3045156 167484 2449380    0    0    80    56  469 1138 19  5 76  0  0
 1  0      0 3044644 167492 2450152    0    0     0    92  299  604  2  1 98  0  0

VMStat Это команда, которая отображает использование в режиме реального времени памяти и утилизацию CPU. Если вы хотите узнать больше об этом, посетите мой предыдущий пост здесь

В приведенной выше команде Вещи, чтобы отметить, что здесь приведена приведенная выше команда CPU каждые пять секунд на терминале, пока вы не прерывайте его. Если вы хотите завершить его, просто нажмите CTL + C Или если вы хотите сделать паузу или остановить, нажмите CTL + Z

BG: Переместите работу на фон

Если вы хотите переместить работу, которая уже запущена в фоновом режиме, чтобы вы могли получить доступ к терминалу, нажмите CTL + Z **, а затем ** BG

Давайте начнем работу на переднем плане, используя ниже команду. Здесь мы пишем статистику CPU в текстовом файле. Как видите, мы не можем начать новую команду, так как это работает на переднем плане.

shaikh@shaikhu-com:~$ vmstat 5 >> vmstat.txt

Давайте сделаем CTL + Z Чтобы приостановить эту работу, а затем сделать вспомогательный

shaikh@shaikhu-com:~$ vmstat 5 >> vmstat.txt
^Z
[1]+  Stopped                 vmstat 5 >> vmstat.txt
shaikh@shaikhu-com:~$ bg
[1]+ vmstat 5 >> vmstat.txt &
shaikh@shaikhu-com:~$ 

Теперь работа работает на заднем плане, и мы получили терминал

Как начать команду и запустить его на заднем плане

Чтобы запустить команду и запустить ее на фоновом использовании & как показано ниже

command &

пример:

shaikh@shaikhucom:~$ sleep 400 &
[2] 11122
shaikh@shaikhucom:~$ 

Работа: команда, чтобы проверить статус задания

Эта команда отображает все задания, работающие в текущем терминале

shaikh@shaikhucom:~$ jobs
[1]-  Running                 vmstat 5 >> vmstat.txt &
[2]+  Running                 sleep 400 &
shaikh@shaikhucom:~$ 

Здесь номер с кронштейном [n] – это идентификатор задания или номер работы и + указывает на самую последнюю команду или работу, тогда как указывает на предыдущую работу. Если вы хотите увидеть процесс, который я D Используйте -l вариант

shaikh@shaikhucom:~$ jobs -l
[1]- 10216 Running                 vmstat 5 >> vmstat.txt &
[2]+ 11122 Running                 sleep 400 &
shaikh@shaikhucom:~$ 

Номер 10216 и 11122 ID процессов

Разные варианты для рабочие места

-L: перечислены идентификаторы процесса в дополнение к обычной информации
-N: перечисляет только процессы, которые изменились статус, так как последний
уведомление
-P: только перечислены идентификаторы процесса
-R: ограничить выход на работу
-s: ограничить вывод, чтобы остановить работу

Убить% n: убить работу с работой ID N

Убить команду используются для убийства работы. Обратите внимание, что % будет использоваться для указания идентификатора задания или Номер работы

haikh@shaikhu-com:~$ jobs
[1]-  Running                 vmstat 5 >> vmstat.txt &
[2]+  Running                 sleep 400 &
shaikh@shaikhucom:~$ kill %2
shaikh@shaikhucom:~$ jobs
[1]+  Running                 vmstat 5 >> vmstat.txt &
shaikh@shaikhucom:~$ 


Как вы можете увидеть, теперь у нас есть только одна работа, работающая на заднем плане и обратите внимание на + Знак, который указывает на работу ID 1, становится самой последней работой 🙂

FG: команда для перемещения задания на передний план

Используйте ** FG ** Команда для перемещения задания на передний план. По умолчанию он принесет последнюю справочную работу на передний план

shaikh@shaikhucom:~$ jobs
[1]   Running                 vmstat 5 >> vmstat.txt &
[2]-  Running                 sleep 400 &
[3]+  Running                 sleep 500 &
shaikh@shaikhucom:~$ fg
sleep 500
[2]   Done                    sleep 400
shaikh@shaikhucom:~$ 

Если у вас есть более одного рабочих мест, работающих на заднем плане, затем используйте % n Чтобы переместить определенную работу на передний план

shaikh@shaikhucom:~$ fg %2

PS Команда видеть все процессы

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

PS AX: Чтобы увидеть весь процесс, действующий в настоящее время в системе (используйте мой предыдущий пост, чтобы проверить команды для процесса реального времени). Это будет очень длинный список, поэтому используйте меньше/больше параметров
PS T: Перечислите все процессы, работающие на текущем клемме
shaikh@shaikhucom:~$ ps T
    PID TTY      STAT   TIME COMMAND
   5786 pts/0    Ss     0:00 bash
  10216 pts/0    S      0:00 vmstat 5
  12983 pts/0    R+     0:00 ps T
shaikh@shaikhucom:~$ 

Вывод

Таким образом, в этом посте мы изучили разные команды для управления фоном и процессом переднего плана. Мы изучили

– BG и FG для перемещения задания на задний план и передний план ##### соответственно.
– Команда заданий Чтобы перечислить все задания активными в текущем терминале.
– Убейте команду, чтобы убить работу
– PS команда, чтобы увидеть список всех активных и запущенных процессов
Мы также узнали, как начать работу на заднем плане, используя и. Если вы хотите знать память в реальном времени и использование процессора и контролировать все процессы, работающие в вашей системе, пожалуйста, проверьте мой последний пост https://shaikhu.com/how-to–monitor-cpu-utilization-in-linux-CKGCP9GEX07G8PAS1ES0HZ7T

Оригинал: “https://dev.to/shaikh/how-to-manage-background-processes-in-linux-1d2m”