Как запустить программу в фоновом режиме linux

При работе в ОС семейства Linux бывают случаи, когда необходимо запустить некий долгий процесс, например поиск файла, и при этом вернуться к работе в консоли. Вполне разумным решением будет открыть несколько терминалов и выполнить каждую задачу индивидуально, но что если мы не ищем легких путей? В этом случае разумным было бы запустить процесс в фоновом режиме. Рассмотрим как это сделать двумя способами.

Для начала следует разобрать синтаксис командной строки. Запуск одной программы/скрипта и т.д. выполняем явным указанием, например:

ping 10.10.0.1
/home/admin/scripts/script.sh

Для запуска одной программы по завершении другой используется логический оператор (двойной амперсанд), например:

mysqldump mybase -u user1 > db.sql tar zcvf db.tar db.sql

Не очень удачный пример, так как можно было использовать перенаправление “|”, приблизительно это выглядело бы так:

mysqldump mybase -u user1 | tar -cvf db.tar —

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

Linux — запуск процессов в фоновом режиме | UnixHost

find / -iname “*.txt” > abc.list в конце строки, указанный через пробел.

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

Как видно, первая строка запускает процесс, но так как в системе мало txt-файлов, процесс завершается. Последующее нажатие Enter в терминале сообщает, что процесс успешно выполнен.

Читайте также:
Номер как единица анимационной программы

Рассмотрим другой вариант. Воспользуемся утилитой ping, результаты будем писать в файл.

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

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

Завершение процесса через killall покажет что процесс не завершился самостоятельно, а был “убит”.

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

Выбор нового пароля

Сама команда jobs покажет сколько процессов выполняется и что именно выполняется, но различные ключи помогают отобразить больше информации. Ключ -l покажет еще и системный идентификатор процесса (PID). Ключ -p выведет только PID’ы, без описания.

Для перехода в приоритетный режим можно использовать команду fg 1 или %1.

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

Воспользоваться утилитой-мультиплексором screen. В некоторых дистрибутивах требуется установка.

Источник: serverspace.ru

Запуск команд Linux в фоновом режиме. Командная строка Linux

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

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

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

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

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

Чтобы запустить команду Linux в фоновом режиме, нужно добавить амперсанд (

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

$ sleep 60 [2]- Запущен gedit https://sysadmin78.ru/doku.php/linux:running_linux_commands_in_background_and_foreground» target=»_blank»]sysadmin78.ru[/mask_link]

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

Favorite

Добавить в избранное

Читайте также:
Что такое парциональные программы

Главное меню » Операционная система Linux » Запуск команд Linux в фоновом режиме и на переднем плане

23 апреля 2019

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

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

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

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

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

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

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

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

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

[1]+ Done sleep 45

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

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

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

running_command ^ z bg

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

Читайте также:
Ошибка ввода программа завершена program1 pas строка 6

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

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

Читать Как установить Discord на Ubuntu 20.04

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

jobs

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

jobs [1] Running opera [3]+ Stopped vim

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

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

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

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

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

fg n

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

Итого

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник: andreyex.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru