Библиотека сайта rus-linux.net
Отправка сигналов процессам: kill, killall и top |
||
---|---|---|
Глава 6. Управление процессами |
Отправка сигналов процессам: kill, killall и top
kill, killall
Эти две команды используются для отправки сигналов процессам. Для команды kill требуется номер процесса в качестве аргумента, а для killall требуется имя процесса.
Обе эти
команды допускают опциональное использование аргумента с номером
сигнала, отправляемого процессу. По умолчанию они обе отправляют
соответствующим процессам сигнал 15 (TERM
).
Например, если вам надо убить процесс с PID 785, используйте команду:
$ kill 785 |
Если
вам нужно отправить ему сигнал 19 (STOP
),
введите:
$ kill -19 785 |
Допустим, что вам нужно убить процесс, для которого вы знаете имя команды. Вместо того, чтобы искать номер процесса при помощи команды ps, вы можете убить его по имени:
$ killall -9 mozilla |
В
любом случае вы убьёте только свои собственные процессы (только если
вы не root
),
поэтому вам не стоит волноваться о процессах ваших «соседей»,
если работаете в многопользовательской системе, так как на них это не
повлияет.
Объединение ps и kill: top
top - это программа, одновременно совмещающая функции ps и kill, а также используемая для наблюдения за процессами в режиме реального времени, предоставляя информацию об использовании процессора и памяти, времени работы и т.п., как показано на Рисунок 6.1, «Наблюдение за процессами при помощи top».
Рисунок 6.1. Наблюдение за процессами при помощи top
Утилита top полностью управляется с клавиатуры. Вы можете получить справку, нажав на клавишу h. Наиболее полезные команды:
- k:
эта команда используется для отправки сигнала процессу. При этом top
спросит у вас PID процесса, а затем номер или название отправляемого
сигнала (по умолчанию используется
TERM
— или15
—); - M:
эта команда используется для сортировки процессов по объёму занятой
ими памяти (поле
%MEM
); - P:
эта команда используется для сортировки процессов по занятому ими
времени CPU (поле
%CPU
; этот метод используется для сортировки по умолчанию); - u: эта команда используется для вывода процессов заданного пользователя, имя которого top у вас спросит. Вам необходимо ввести имя пользователя, а не его UID. Если вы не введете никакого имени, будут показаны все процессы;
- i:
по умолчанию выводятся все процессы, даже спящие. Эта команда
обеспечивает вывод только о работающих в данный момент процессах
(процессы, у которых поле
STAT
имеет значениеR
, Running). Повторное использование этой команды вернёт вас назад к списку всех процессов. - r: эта команда используется для изменения приоритета выбранного процесса.
Информация о процессах: ps и pstree |
Установка приоритетов для процессов: nice, renice |