ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Запуск команд Linux в фоновом режиме и на переднем плане

Запуск команд Linux в фоновом режиме и на переднем плане

Краткое описание: В этой статье показано, как запускать процессы в фоновом режиме в Linux и как вернуть фоновые процессы на передний план.

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

В этой статье мы покажем вам пару способов отправить процесс в фоновом режиме. мы также покажем вам, как вернуть фоновые процессы на передний план.

 

Запустите процесс Linux в фоновом режиме напрямую

Если вы знаете, что выполнение команды или процесса займет много времени, лучше запустить команду в фоновом режиме.

Чтобы запустить команду Linux в фоновом режиме, все, что вам нужно сделать, это добавить амперсанд (&) в конце команды, например так:

your_command &

 

Давайте возьмем простую команду bash sleep и отправим ее в фоновый режим.

sleep 45 &

 

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

[1]+  Done                    sleep 45

 

Отправить работающий процесс Linux в фоновом режиме

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

Здесь вы должны использовать Ctrl + Z, чтобы приостановить запущенный процесс, а затем использовать bg (сокращение от фона), чтобы отправить процесс в фоновом режиме. Приостановленный процесс теперь будет работать в фоновом режиме.

running_command 
^ z 
bg

 

Давайте возьмем тот же пример, что и раньше.

destroyer@andreyex:~$ sleep 45
^Z
[1]+  Stopped                 sleep 45
destroyer@andreyex:~$ bg
[1]+ sleep 45 &

 

Просмотреть все процессы, работающие в фоновом режиме

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

Для этого вы можете ввести эту команду в терминал:

jobs

 

Это покажет вам все запущенные задания/процессы/команды в фоновом режиме, как это:

jobs
[1]   Running                 opera &
[2]-  Running                 gedit &
[3]+  Stopped                 vim

 

Вывести процесс на передний план в Linux

Хорошо! Итак, вы научились запускать команды в фоновом режиме в Linux. Но как насчет того, чтобы вывести процесс, работающий в фоновом режиме, снова на передний план?

Чтобы отправить команду в фоновый режим, вы использовали «bg». Чтобы вернуть фоновый процесс обратно, используйте команду ‘fg’.

fg

 

Теперь, если вы просто используете fg, он выведет последний процесс в очереди фоновых заданий на передний план. В нашем предыдущем примере запуск fg вернет редактор Vim в терминал.

Если вы хотите вывести определенный процесс на передний план, вам нужно указать его идентификатор работы. Идентификатор задания – это число, которое вы видите в начале каждой строки в выводе команды ‘jobs’.

fg n

 

Где n – это идентификатор задания, отображаемый в выходных данных командных заданий.

 

Итого

Это было быстро, но достаточно для того, чтобы вы немного узнали о запуске команд в фоновом режиме в Linux.

Если у вас есть вопросы или предложения, пожалуйста, оставьте комментарий ниже.

Exit mobile version