Skip to content

Latest commit

 

History

History
73 lines (45 loc) · 5.35 KB

103_5.md

File metadata and controls

73 lines (45 loc) · 5.35 KB

103.5 Управление процессами в Linux

Студент должен уметь создавать, отслеживать и завершать процессы

Изучаем :

  • запуск задач в активном и фоновом режимах;
  • настройку выполнения задачи после выхода из системы;
  • способы отслеживания и сортировки активных процессов;
  • завершение процессов.

**Термины и утилиты: **

  • &
  • bg
  • fg
  • jobs
  • kill
  • nohup
  • ps
  • top
  • free
  • uptime
  • pgrep
  • pkill
  • killall
  • screen

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

Посмотреть запущенные процессы в текущей консоли можно при помощи команды jobs. Для вывода всех запущенных в данный момент процессов (независимо от консоли) используется команда ps с различным набором ключей, например:

Ps** aux** (вывести процессы всех пользователей);

Можно вывести процессы в консоль, отображая иерархию из взаимосвязи командой pstree.

Для отображения идентификаторов процессов по определенному критерию можно использовать команду pgrep , например:

pgrep -** l **** - u root **** ** (отобразить все процессы пользователя root_)_

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

Sleep **999 & ** (запустить задачу sleep 999 в фоновом режиме);

Для перевода процесса из фонового режима в активный используется команда fg , обратно – bg. В качестве аргумента команды следует указать номер процесса (его можно увидеть на выводе команды jobs).

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

nohup ** **** sleep **** 1000 & ** _(запустить процесс "_sleep 1000" в фоновом режиме, и выполнять его даже в случае выхода пользователя из системы);

Для остановки процесса используется команда kill , например:

kill 2625 _ (выключить процесс с_ PID_=2625);_

killall** sleep **** ** (выключить все процессы с именем sleep для текущего пользователя) ;

Для остановки процессов по указанному критерию можно использовать команду pkill , например:

pkill** refox **** ** (остановить процесс, в имени которого есть символы " refox");

Для просмотра информации о работающих процессах в режиме реального времени используется диспетчер задача top. Используя его можно сортировать запущенные задачи по различным критериям и останавливать их (клавиша K_)_ мягко (sigterm) и жестко (sigkill).

Для отображения информации о времени работы системы и среднем времени загрузки АЧ используется команда uptime.

Для отображения информации о загрузке ОЗУ и раздела подкачки используется команда free.

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

screen -** S yandex ping ya. ru ** (создать экран с именем yandex для команды ping ya. ru );

screen ** ls **** ** (показать свернутые экраны);

screen -** r yandex ** (развернуть экран с именем yandex_)._