Текущий контроль процессов, команды ps и top

Для текущего контроля состояния процессов в системе используется команда ps.

Если она введена без опций, то покажет только собственные процессы пользователя и процессы обмена с терминалом. Команда имеет опции:

-a - выдает информацию о всех пользовательских процессах

-е - показывает значения переменных окружения

-h - при выводе на PAGER (more или less) выводит заголовок листинга

-m - сортирует вывод по используемой памяти

-r - сортирует вывод по использованию времени центрального процессора

-x - вывод команды не ассоциирован с терминалами (т.е. показываются также например и процессы-демоны)

Наберите команду

# ps -ax

Посмотрим на листинг (здесь показана для краткости только одна строчка помимо заголовка и только часть полей):

USER PID STAT START TIME COMMANDbob 1167 R+ 5:57PM 0:00.04 ps -axUSER - имя владельца процессаPID - идентификатор процессаSTAT - текущий статус процессаR = выполнимый, T = остановленныйI = ожидающий, S = ожидающий (> 20 сек)Z = зомбиДополнительные флаги:W = процесс свопирован+ = процесс в приоритетном режиме своего терминалаSTART - время запуска процессаTIME - время центрального процессора, потребленное процессомCOMMAND - имя и аргументы команды

Для самостоятельного изучения вам дается команда top.

Вывод этой команды аналогичен выводу команды ps.

Замечу только использование команды top - довольно дорогое удовольствие, т.к. она сама "пожирает" довольно много ресурсов системы. Не стоит ею злоупотреблять.

Защита фоновых процессов, команда nohup

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

# cat /var/log/messages | grep fetchmail > fetchmail.log &

Но если, к примеру, вы используете в качестве shell интерпретатор sh, и сразу же после этой команды выйдете из системы командой exit (или Ctrl+D), интерпретатор пошлет сигнал отбой (HUP) этому процессу (как впрочем, и всем, им порожденным).

Для то, чтобы этого не произошло, нужно запустить эту команду с помощью команды nohup.

# nohup cat /var/log/messages | grep fetchmail > fetchmail.log &

В этом случае, сигнал отбоя от sh будет проигнорирован.

Правда у команды nohup есть побочные эффекты: она увеличивает значение nice на +5
если стандартный файл вывода не переназначен, то весь вывод пойдет в файл nohup.out (в нашем случае этого не произойдет)

Замечание: Если вы пользуетесь csh или другими современными интерпретаторами, то вы вполне можете обходиться без команды nohup.

20.Пользователи в системе UNIX управление бюджетами пользователей


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: