Запуск в фоновом режиме: Как запустить процесс в фоне Linux – 4PDA .:. Всё в порядке, но…

Содержание

Как запустить процесс в фоне Linux

Как правило, выполнение команд в терминале связано с одним неудобством — прежде чем приступить к вводу следующей команды, следует дождаться выполнения предыдущей. Это происходит, поскольку текущий процесс блокирует доступ к оболочке операционной системы и в таких случаях говорят, что команда выполняется на переднем плане. Что же делать, если нужно запустить несколько команд одновременно? Есть несколько решений. Первое и наиболее очевидное — открыть дополнительное окно терминала. Второе — инициировать выполнение команды в фоновом режиме.

Если какой-либо процесс происходит в фоновом режиме, это значит, что он не предусматривает взаимодействия с пользователем, следовательно, доступ к оболочке остается свободным. Прочитав эту статью, вы узнаете как запустить процесс в фоне Linux и что делать, чтобы их выполнение не прерывалось после закрытия терминала.

Содержание статьи:

Как запустить процесс в фоне Linux

Для выполнения команды в фоновом режиме достаточно добавить в конце символ амперсанда (&):

command &

В выводе терминала будут отображены порядковый номер задачи (в квадратных скобках) и идентификатор процесса:

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

Работая в фоновом режиме, команда все равно продолжает выводить сообщения в терминал, из которого была запущена. Для этого она использует потоки stdout и stderr,  которые можно закрыть при помощи следующего синтаксиса:

command > /dev/null 2>&1 &

Здесь >/dev/null 2>&1 обозначает, что stdout будет перенаправлен на /dev/null, а stderr — к stdout.

Узнать состояние всех остановленных и выполняемых в фоновом режиме задач в рамках текущей сессии терминала можно при помощи утилиты jobs c использованием опции -l:

jobs -l

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

В любое время можно вернуть процесс из фонового режима на передний план. Для этого служит команда fg:

fg

Если в фоновом режиме выполняется несколько программ, следует также указывать номер. Например:

fg %1

Для завершения фонового процесса применяют команду kill с номером программы:

kill %1

Как перевести процесс в фоновый режим

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

  1. Остановить выполнение команды, нажав комбинацию клавиш Ctrl+Z.
  2. Перевести процесс в фоновый режим при помощи команды bg.

bg

Работа процессов в фоне

Запуск скрипта в фоне linux - это одно, но надо чтобы он ещё работал после закрытия терминала. Закрытие терминала путем нажатия на крестик в верхнем углу экрана влечет за собой завершение всех фоновых процессов. Впрочем, есть несколько способов сохранить их  после того как связь с интерактивной оболочкой прервется. Первый способ — это удаление задачи из очереди заданий при помощи команды disown:

disown

Как и в предыдущих случаях, при наличии нескольких одновременно выполняемых процессов следует  указывать номер того, относительно которого будет выполнено действие:

disown %1

Убедиться, что задачи больше нет в списке заданий, можно, использовав уже знакомую утилиту jobs -l. А чтобы просмотреть перечень всех запущенных процессов (в том числе и отключенных) применяется команда

ps aux

Второй способ сохранить запущенные процессы после прекращения работы терминала — команда nohup. Она выполняет другую команду, которая была указана в качестве аргумента, при этом игнорирует все сигналы SIGHUP (те, которые получает процесс при закрытии терминала). Для запуска команды в фоновом режиме нужно написать команду в виде:

nohup command &

Как видно на скриншоте, вывод команды перенаправляется в файл nohup.out. При этом после выхода из системы или закрытия терминала процесс не завершается. Существует ряд программ, которые позволяют запускать несколько интерактивных сессий одновременно. Наиболее популярные из них — Screen и Tmux.

  • Screen либо GNU Screen — это терминальный мультиплексор, который позволяет запустить один рабочий сеанс и в рамках него открыть любое количество окон (виртуальных терминалов). Процессы, запущенные в этой программе, будут выполняться, даже если их окна невидимы или программа прекратила работу.
  • Tmux — более современная альтернатива GNU Screen. Впрочем, возможности Tmux не имеют принципиальных отличий — в этой программе точно так же можно открывать множество окон в рамках одного сеанса. Задачи, запущенные в Tmux, продолжают выполняться, если терминал был закрыт.

Выводы

Чтобы запустить скрипт в фоне linux, достаточно добавить в конце знак &. При запуске команд в фоновом режиме отпадает необходимость дожидаться завершения одной команды для того, чтобы ввести другую. Если у вас возникли вопросы, обязательно задавайте их в комментариях.

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

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

Команда, выполнение которой было запланировано принудительно, называется фоновым процессом. Фоновые процессы не отображаются на экране. Например, HTTPD-сервер Apache работает в фоновом режиме для обслуживания веб-страниц. В фоновый режим можно поместить скрипт оболочки или любую команду.

Синтаксис

Задачу (например, команду или скрипт) можно перевести в фоновый режим, добавив символ «&» в конец командной строки. Этот оператор переводит команду в фоновый режим и освобождает место в терминале. Команда, выполняемая в фоновом режиме, называется заданием. Во время работы фоновой команды можно выполнять любые другие команды. Синтаксис выглядит следующим образом:

command & script-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output &

Примеры

Чтобы перевести команду ls в фоновый режим, введите:
$ ls *.py > output.txt &

Чтобы перевести следующую команду поиска в фоновый режим, добавьте символ «&» в конец командной строки:
find . -iname "*.mp3" > myplaylist.txt &

Как найти задания, работающие в фоновом режиме?

Выполните следующую команду:
jobs

Пример вывода данных:


[1]-  Running                 find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+  Running                 grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Где
[1] и [2] идентификаторы заданий.
Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных сведений, передайте параметр -l: jobs –l

Пример вывода данных:


[1]-  7307 Running                 find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+  7324 Running                 grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Чтобы отобразить только идентификаторы процессов, введите:
jobs -p

Пример вывода данных:


7307
7324

Как прекратить выполнение заданий, работающих в фоновом режиме?

Для принудительного или постепенного завершения процесса следует использовать команду kill. Синтаксис выглядит следующим образом:


kill PID
kill -15 PID
kill -9 PID
killall process-Name-Here
killall -15 process-Name-Here
killall -9 process-Name-Here

Как переместить процесс из фонового режима в приоритетный?

Синтаксис: %JOB-ID

ИЛИ fg JOB-ID

Сначала следует вывести список текущих заданий с помощью команды jobs. Для этого введите: jobs -l

Пример вывода данных:


[1]-  7307 Running                 find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+  7324 Running                 grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Чтобы перевести задание job id #2 в приоритетный режим, введите: %2 ИЛИ используйте команду: fg 2

Пример вывода данных:


grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt

Чтобы перевести это задание обратно в фоновый режим, нажмите клавишу Z, удерживая клавишу CTRL. При этом выполнение текущего приоритетного задания будет приостановлено. Введите следующую команду, чтобы перевести задание в фоновый режим:
%2 &
ИЛИ используйте команду: bg
Теперь командное задание grep будет работать в фоновом режиме.

Краткое описание всех полезных команд

Описание Команда
Идентификация выполняемых заданий. jobs
jobs -l
ps aux
Перевод команды или скрипта в приоритетный режим. command &
/path/to/command &
/path/to/script arg1 &
Перевод фонового задания в приоритетный режим. fg n
%n
Перевод задания в фоновый режим без его отмены bg n
%n &

Примечание: n — это id задания (id задания можно узнать, выполнив команду jobs).

 

P. S. Другие инструкции:

Поделиться в соцсетях:

Спасибо за Вашу оценку! К сожалению, проголосовать не получилось. Попробуйте позже

ru

191014 Санкт-Петербург ул. Кирочная, 9

+7(812)313-88-33 Тестирование сервера235 70 1cloud ltd 2018-12-07 Запуск команд в фоновом режиме

191014 Санкт-Петербург ул. Кирочная, 9

+7(812)313-88-33 Тестирование сервера235 70 1cloud ltd 2018-12-07 Запуск команд в фоновом режиме Тестирование сервера600 auto

Запуск команд в фоновом режиме на 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 -

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

find / -iname “*.txt” > abc.list &

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

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

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

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

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

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

jobs

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

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

Альтернативный способ.

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

CentOS:

yum install screen

Ubuntu:

apt-get install screen

Запуск команды прост:

screen

После выполнения появится окно, с ознакомительным текстом.

Нажимаем Enter.

Содержимое терминала обновится. Можем выполнить команду, например, все тот же ping. Чтобы вернуться в основной терминал нажимаем последовательно ctrl+a, а затем клавишу d.

В терминале появится сообщение, что процесс отделен.

Посмотреть запущенные screen’ы можно командой:

screen -list

Возврат к процессу можно сделать командой:

screen -r

В нашем случае:

screen -r 2636.pts-0.ubuntu

Как видно, процесс выполнялся в фоновом режиме.

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

screen -d -m -S SCREEN_NAME program_1

-d -m — запускает процесс screen в отделённом режиме. Будет создана новая сессия, но она не будет показана.

-S — установит имя для процесса. Удобно, когда запущено несколько процессов screen.

Открыть окно с процессом можно командой:

screen -r my_ping

Облачные VPS/VDS

Создайте сервер всего за 1 минуту!

от8 руб/месяц

Подобрать сервер

Средняя оценка: 5.0 оценили: 2

220140 Минск ул. Домбровская, д. 9

+375 17 388-72-49 700 300 ООО «ИТГЛОБАЛКОМ БЕЛ»

220140 Минск ул. Домбровская, д. 9

+375 17 388-72-49 700 300 ООО «ИТГЛОБАЛКОМ БЕЛ» 700 300

Запустить процесс в фоне в Linux

Служба с терминалом Linux по умолчанию ведется в однозадачном режиме. Это означает, что любая запущенная бригада блокирует терминал до своего завершения. Такой подход не удобен при запуске программ, спрашивающих продолжительного времени выполнения. Данную проблему можно решить двумя способами: раскрыть дополнительное окно терминала и выполнить в нем другую команду или использовать фоновый режим. Все нынешние операционные системы, в том числе и Linux, являются многозадачными, что подразумевает под собой возможность синхронного выполнения множества программ.

Содержание статьи

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

Как запустить бригаду в фоновом режиме, чтобы сразу получить доступ к интерфейсу командной строки? Бригада, выполнение которой было запланировано принудительно, называется фоновым процессом. Фоновые процессы не показываются на экране. Например, HTTPD-сервер Apache работает в фоновом режиме для обслуживания веб-страниц. В низкоприоритетный режим можно поместить скрипт оболочки или любую команду. Задачу (например, бригаду или скрипт) можно перевести в фоновый режим, добавив символ «&» в конец командной строчки. Этот оператор переводит команду в фоновый режим и освобождает место в терминале. Бригада, выполняемая в фоновом режиме, называется заданием. Во время работы фоновой команды возможно выполнять любые другие команды. Синтаксис выглядит следующим образом:

command & script-name & /path/to/command arg1 arg2 & command-1 | command-2 arg1 & command-1 | command-2 -arg1 -arg2 >/path/to/output &

Для пуска программ в фоновом режиме, не блокирующем окно терминала, необходимо использовать специальный инструктор «&». Поставьте этот символ в самом конце строки после указания фамилии команды, опций и входящих параметров. В общем виде данную последовательность можно вписать как «имя_команды —опция входящий_параметр &».

ls ~/* > ~/test-file.txt &
[1] 18960

После нажатия кнопки Enter программа автоматически запустится в фоновом режиме. При этом терминал покажет строчку со следующим содержимым «[номер_задания] идентификатор_процесса», и выдаст приглашение к вводу новоиспеченной команды.

Найти команды, работающие в фоновом режиме в Linux

Выполните следующую бригаду:

jobs

Пример вывода данных:

[1]- Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Где [1] и [2] идентификаторы поручений.

Чтобы отобразить идентификаторы процессов для идентификаторов заданий помимо стандартных приведений, передайте параметр -l:

jobs –l

Пример вывода данных:

[1]- 7307 Running find / -iname "*.c" 2> /dev/null > /tmp/output.txt &
[2]+ 7324 Running grep -R "hostNamed" / 2> /dev/null > /tmp/grep.txt &

Дабы отобразить только идентификаторы процессов, введите:

jobs -p

Пример вывода данных:

7307
7324

Кончить выполнение команд, работающих в фоновом режиме

Для принудительного или постепенного завершения процесса вытечет использовать команду kill. Синтаксис выглядит следующим образом:

kill PID
kill -15 PID
kill -9 PID
killall process-Name-Here
killall -15 process-Name-Here
killall -9 process-Name-Here

Возврат програмки в приоритетный режим в Linux

Linux позволяет не только запускать программы в фоновом режиме, но и по хотению возвращать к привычному выполнению. Для этого существует два инструмента: команда (Команда — группа лиц, объединённая общими мотивами, интересами) fg и оператор %. Принцип их усилия предельно прост. fg требует указать номер задания в качестве параметра, а к % его нужно подставить сходу после оператора без пробелов.

find / -name .ini 2> ~/results.txt &
[1] 19090
fg 1
bash: fg: задача закончилась
[1]+ Выход из 1 find / -name .ini 2> ~/results.txt

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

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

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

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

 

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

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

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

your_command &

 

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

sleep 45 &

 

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

[1]+  Done                    sleep 45

 

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

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

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

running_command 
^ z 
bg

 

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

[email protected]:~$ sleep 45
^Z
[1]+  Stopped                 sleep 45
[email protected]:~$ 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.

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

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

Как активировать фоновый режим для программ на ПК и в мобильных устройствах?

Как известно, что в компьютерных, что в мобильных операционных системах достаточно много программ работает в фоне. Иными словами, программа фоновом режиме потребляет ресурсы системы точно так же, как и консольные приложения, однако пользователю не видна. Сейчас будет рассмотрено несколько случаев использования такого режима для Windows и наиболее популярных мобильных ОС.

Что такое фоновый режим и для чего он нужен?

Итак, уже понятно, что саму программу, работающую в фоне, пользователь не видит. Определить состояние ее активности можно двояко. В общем случае для этого в Windows-системах используется стандартный «Диспетчер задач», в котором на разных вкладках отображены все запущенные процессы, включая и активные приложения в фоновом режиме. В более конкретном случае, если речь идет о пользовательских программах, их можно найти в свернутом виде в системном трее.

фоновый режим

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

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

К сожалению, возможность такого запуска для настольных ПК и ноутбуков появилась только в десятой версии Windows. Ее и будем рассматривать.

Фоновый режим для пользовательских программ включается в два этапа, один из которых является необязательным (далее будет объяснено, почему). Первым делом следует зайти в раздел параметров, который вызывается из меню «Пуск», после чего перейти к настройкам конфиденциальности.

программа фоновом режиме

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

как включить фоновый режим

Для того чтобы включить запуск приложения при старте системы, основной исполняемый файл программы следует включить в список автозагрузки либо в «Диспетчере задач», либо в настройках конфигурации, вызываемых командой msconfig в консоли «Выполнить» (Win + R). После этого будет активирован и автостарт, и фоновый режим. Вот только не следует забывать о работающем приложении, ведь потребление системных ресурсов может неоправданно возрасти. И добавить свою программу можно только при помощи специальных утилит или поместить ярлык программы в папку автозапуска вручную.

Как включить фоновый режим приложений на iPhone?

Теперь несколько слов о «яблочных» мобильных гаджетах. Фоновый режим включить в них тоже можно. Для примера возьмем iPhone (хотя по большому счету без разницы, какое устройство будет использоваться).

Сначала нужно скачать небольшую бесплатную утилиту под названием Backgrounder (сделать это можно на компьютере через сервис Sydia, поскольку в «родном» хранилище этого приложения нет). Далее следует загрузить инсталлятор на устройство через iTunes и установить программу. Желательно создать нужный каталог вручную, скопировать в него инсталляционный файл и установить приложение туда же.

Обратите внимание: после установки иконка приложения в списке апплетов создана не будет, поэтому искать ее среди инсталлированных программ не имеет смысла. Кроме того, в файловом менеджере категорически запрещается удалять или перемещать папку установки, поскольку после этого приложение системой распознано не будет.

приложения в фоновом режиме

Что касается включения фонового режима, тут все просто. При запуске какой-то программы, когда она полностью откроется, нужно нажать на кнопку Home и удерживать ее в течение примерно 3 секунд. После этого появится сообщение об активации утилиты Backgrounder, и приложение свернется. Для восстановления исходного состояния программы снова используется та же кнопка с удерживанием, но после этого появляется сообщение о деактивации утилиты, за чем последует выход приложения из фонового режима.

Использование фоновой работы для Google Play

В Android-системах фоновый режим, как правило, используется не только для системных или встроенных служб, но и для сервиса Google Play.

фоновый режим

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

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

Вместо итога

Вот и все, что касается использования фонового режима. Насколько это целесообразно для Windows, каждый решает сам. Однако для мобильных устройств, в частности для Apple-девайсов, активация фонового режима является поистине находкой, ведь можно будет запускать несколько приложений одновременно и все их сворачивать при запуске других программ.

Управление процессами Linux, запуск в фоновом режиме.

Все запущенные программы в системе Linux называются процессами.
У каждого пользователя есть права управления только теми процессами , которые были запущены под данным пользователем. Но, пользователь root имеет права на управление любыми процессами системы.

Управление процессами возможно следующими командами:

 & - запуск программы в фоновом режиме;  
 + - приостановка текущего процесса;  
 bg – перевод приостановленного процесса в фоновый режим;  
 fg – возврат процесса из фонового режима;  
 jobs – список процессов в фоновом режиме;  
 ps – список программ, выполняемых на терминале;  
 kill, killall – принудительное завершение процессов;  
 top – вывод динамической информации о процессах;  
 nice- изменение приоритета;
Перевод программы в фоновый режим.

Программа может быть запущена в двух вариантах: в фоновом режиме (background) bg и на переднем плане (foreground) fg.
Что бы запустить программу или скрипт в фоновом режиме нужно добавить символ & в конце строки-команды, через пробел:

[email protected]~# /srv/tools/script.sh &

Если вы хотели запустить процесс в фоновом режиме, но забыли добавить в конец команды &, то в можно просто перевести процесс в фоновый режим через команду bg:
1. Забыли запустить программу в фоновом режиме:

[email protected]~# /srv/tools/script.sh

2. Приостанавливаем процесс:

CTRL-Z

3. Вводим команду bg, которая запустит процесс, но уже в фоновом режиме:

bg

Список фоновых процессов можно посмотреть через команду:

jobs
Вывод процесса из фонового режима.

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

Если нам нужно вывести из фонового режима определенный процесс, то вводим:

fg %3

, где %3 это номер запущенного процесса из команды jobs.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *