Вы находитесь на странице: 1из 21

Управление

процессами в Linux
Создание, отслеживание и уничтожение процессов

• bg • SIGHUP
• fg • SIGTERM
• jobs • SIGKILL
• & • pgrep
• kill • pkill
• killall • screen
• nohup
Ключи команды fg, bg
Сtrl-z Приостановка выполнения процесса и помещние в фон.
% Обращению к процессу по его имени.
%? Обращению к процессу по части его имени.

Ключи команды jobs


-l Отобразить список процессов и их PID.

Ключи команды kill


-l Отобразить список возможных сигналов.
Ключи команды pgrep, pkill
-l Отобразить имя искомого поцесса.
Поиск по uid пользователя.
-U Задается как числовой так и символьный
идентификатор пользователя.
Поиск по user effective id пользователя.
-u Задается как числовой та и символьный идентификатор
пользователя.
Поиск по gid групп.
-G Задается как числовой та и символьный идентификатор
пользователя.
Поиск по group effective id группы.
-g Задается как числовой та и символьный идентификатор
пользователя.
Сигналы команды kill
SIGHUP (1) (hang up) Посылается процессу для уведомления о потере
соединения с управляющим терминалом пользователя.
В программах, не использующих при своей работе
управляющих терминалов, демонах, используется для
переинициализации (перечитывания) файлов
конфигурации.
SIGINT (2) (Interrupt) Используется для остановки процесса
пользователем (аналог комбинации Ctrl-C).
SIGKILL(9) (kill)Посылается процессам для их немедленного
завершения.
SIGTERM(15) (terminate) Посылается для запроса завершения процесса.
Сигнал по умолчанию для утилты kill
SIGCONT (18) (Continue) Используется для возобновления выполнения
процесса
SIGTSTP (20) (TTY stop) Посылается для приостановки выполнения
процесса (аналог комбинации Ctrl-Z).
Ключи команды screen
screen -ls Вывести список сессий screen.
screen -r Подключиться к сессии screen.
screen -S Присвоить имя сесси screen.
Отключиться от текущей сессии screen, оставив
ctrl+a d ее работающей. Для переподключения
используется команда screen -r.
ctrl+a k Завершить текущую сессию screen.
Отобразить список команд и их параметры
ctrl+a ?
по умолчанию.
ctrl+a : Ввод команды для screen.
Ключи команды screen
ctrl+a " Список окон.
ctrl+a 0 Открыть окно 0.
ctrl+a A Переименовать текущее окно.
ctrl+a c Создать новое окно.

ctrl+a S Разделить текущее окно на два региона.

Переключить фокус ввода на следующий


ctrl+a tab
регион.
ctrl+a Q Закрыть все регионы кроме текущего.
ctrl+a X Закрыть текущий регион.
Управление процессами
• Команда bg возобновляет выполнение процесса в
фоновом режиме.
• Команда fg возобновляет выполнение процесса в
интерактивном режиме.
• Команда jobs используется для управления
процессами, которые выполняются в текущей сессии.
• Каждая задача имеет свой идентификатор(Job-ID).
• Добавление символа & после команды автоматически
переводит её выполнение в фоновый режим.
• Обращаться к процессу можно как по Job-ID так и по
имени процесса используя %.
Управление процессами
• Команда kill по умолчанию посылает сигнал SIGTERM
(15) который инициализирует процедуру завершения
процесса, позволяет корректно его остановить, также
будут остановлены и все дочерние процессы.
• Сигнал SIGKILL выполняет немедленное завершение
процесса. Это означает, что после завершения процесса
с помощью sigkill, дочерние процессы останутся в
памяти и станут «осиротевшими» (orphaned), на диске
могут остаться временные файлы процесса.
В результате есть риск столкнуться с неожиданными и
сложными для отладки проблемами.
Мониторинг и
уничтожение
процессов
Мониторинг и уничтожение процессов
• ps
• pstree
• uptime
• free
• top
Ключи команды ps
-a Вывод информации о всех процессах, связанных с
конкретным терминалом.
-l Подробный вывод (long format). Выводит приоритет,
идентификатор родительского процесса и другую
информацию.
-u Пользовательский вывод (user format). Выводит время
старта процесса и имя пользователя, запустившего
процесс.
-x Вывод процессов-демонов и других процессов,
запущенных не в текущей сессии терминала.
-C Вывод информации о процессах, связанных с
указанной командой.
-U Вывод информации о всех процессах пользователя.
Ключи команды pstree
-a Вывод аргументов командной строки.
Отключить свертывание идентичных поддеревьев
-c
процессов.
-p Вывод идентификаторов процессов (PIDs).
Вывод изменений идентификаторов пользователей
-u (относительно идентификатора родительского
процесса).

-V Отображение информации о версии.


Ключи команды top
-b Запуск команды в пакетном режиме (Batch mode).

-d Определяет задержку (в секундах) между обновлением


списка процессов.
-i Игнорировать простаивающие процессы.

-n Отобразить n итераций и затем выйти.

-s Запуск команды в защищенном режиме.


Горячие клавиши команды top
spacebar Обновление экрана.
h Вывод справочной информации.
k Завершить процесс.
q Завершение работы команды top.
f Добавление или удаление отображаемых полей.
o Cортировка порядка вывода информации.
Изменение
приоритета
процессов
Изменение приоритета процессов
• Запуск программы с разным приоритетом
выполнения.
• Изменение приоритета активного процесса.
• nice
• renice
Изменение приоритета процессов
• Команда nice позволяет запускать процесс с
указанным приоритетом.
• Команда renice используется для изменения
приоритета уже работающего процесса.
• Приоритет задается числом, от «-20» (высший
приоритет) до «19» (низший приоритет).

Вам также может понравиться