Запущенные процессы в Linux

Автор: Admin

Дата:2012-10-26

Как узнать список запущенных процессов в Linux?

Процесс - это программа выполняющаяся в системе.

1) В большинстве случаев для исследования процессов в Linux используется команда "ps", которая может выполняться как в текстовом режиме так и иметь графическую оболочку.

#ps ax - отображает полную информацию о процессах

PID    TTY      STAT   TIME COMMAND
    1      ?           Ss     0:03 /sbin/init
17676  ?           Ss     0:00 /usr/sbin/pptpd


По хорошему эта команда, наверное, нам нужна для отслеживания процессов и убития зависших, как по нажатию сочетания клавиш ctrl+alt+delete мы попадаем в диспетчер задав в Виндовсе и можем остановить зависший процесс.

Ее можно применить вместе с grep, для более быстрого поиска нужного нам процесса
# ps ax |  grep pptp
 2036 pts/0    S+     0:00 grep pptp
17676 ?        Ss     0:00 /usr/sbin/pptpd

Здесь он нам нашел наш поиск и сам процесс под номером 17676

А можем воспользоваться уже готовой утилитой поиска процесса
# pgrep -l pp
2111 pptpd

2) Убить процесс нам поможет команда:
# kill 17676 - которая принудительно прекратит его выполнение
# killall pptpd - останавливает процесс по имени

3) Если вам нужно древовидное отображение процессов, то на помощь придет утилита:
# pstree
init --acpid
     --apache2--5*[apache2]
     --atd
     --cron
     --dd
     --freshclam
     --6*[getty]
     --klogd
     --miniserv.pl
     --named--3*[{named}]
     --nmbd
     --pptpd
     --slapd--2*[{slapd}]
     --smbd--smbd
     --sshd--sshd--bash--pstree
     --syslogd
     --udevd
     --xinetd

Здесь, соответственно, видна зависимость процессов друг от друга в древовидном виде.
А более подробную зависимость можно посмотреть если добавить ключ -a
# pstree -a
4) Еще одна очень полезная утилита.
# top - отображение процессов в реальном времени

Tasks:  52 total,   1 running,  51 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.7%sy,  0.0%ni, 99.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    247780k total,   242104k used,     5676k free,    64152k buffers
Swap:   465844k total,      184k used,   465660k free,   127556k cached
  PID USER      PR  NI  VIRT  SHR S %CPU  RES %MEM    TIME+  COMMAND
 2094 root      18   0  2304  852 R  0.3 1064  0.4   0:01.05 top
 5549 syslog    15   0  1932  528 S  0.3  680  0.3  49:43.08 syslogd
 5571 root      15   0  1868  440 S  0.3  532  0.2  72:10.96 dd
    1 root      15   0  2840  540 S  0.0 1684  0.7   0:03.12 init
    2 root      12  -5     0    0 S  0.0    0  0.0   0:00.00 kthreadd

Здесь отображается используемая память и процессор, приостановленные и рабочие процессы. Отсюда можно произвести изменение приоритета процесса или удалить его. Просмотреть состояние процесса (простой, остановленный, зависший и др.)

# gtop - может применяться в графическом режиме.

Другие команды Linux

Так, что бы стало понятно зачем и как можно применять команды в Linux. продемонстирую небольшой скрипт Bash.
Данный скрипт проверяет имеется ли процесс c именем smb и в том случае если его нет происходит его старт.
grep -v grep необходим, что бы исключить сам процесс поиска smb

# vi ps

#!/bin/bash
ps ax | grep -v grep | grep smb
if [ $? -ne 0 ]
        then
/etc/init.d/smb start
        else
echo "демон работает" > /dev/null
fi

Количество просмотров: 14513

Комментарии к статье:

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

Введите сумму с картинки

© Plutonit.ru - Администрирование, настройка Linux и Windows 2009 - 2017