- Как составить список запущенных процессов в Linux
- Процессы в Linux
- Список запущенных процессов в Linux
- Список запущенных процессов в Linux с помощью команды ps
- Список запущенных процессов в Linux с помощью команды top
- Список запущенных процессов в Linux с помощью команды htop
- Список запущенных процессов в Linux с помощью команды atop
- Найдите идентификаторы процессов с помощью команды pgrep
- Запущенные процессы в Linux
- Как узнать список запущенных процессов в Linux?
Как составить список запущенных процессов в Linux
Каждое приложение, которое вы используете, или команда, которую вы запускаете в своей системе Linux, создает процесс или задачу. Как системный администратор, вам нужно будет управлять процессами для обеспечения оптимальной производительности системы.
В этом руководстве мы рассмотрим различные команды Linux, которые вы можете использовать для составления списка текущих запущенных процессов и управления ими.
- Система под управлением Linux
- Учетная запись с привилегиями root или sudo
- Доступ к окну терминала / командной строке
Процессы в Linux
Процессы в Linux запускаются каждый раз, когда вы запускаете приложение или выполняете команду. В то время как каждая команда создает один процесс, приложения создают и запускают несколько процессов для разных задач.
По умолчанию каждый новый процесс запускается как foreground процесс. Это означает, что он должен завершиться, прежде чем можно будет начать новый процесс. Запущенные процессы в background позволяет одновременно выполнять другие задачи.
Примечание: Узнайте больше о завершении процессов Linux в нашем руководстве по уничтожению процессов в Linux.
Список запущенных процессов в Linux
Чтобы перечислить запущенные в данный момент процессы, используйте ps , top , htop , and atop команды Linux. Вы также можете комбинировать ps команда с pgrep команда для идентификации отдельных процессов.
Список запущенных процессов в Linux с помощью команды ps
В ps Команда Linux создает снимок запущенных в данный момент процессов. В отличие от других команд в этом списке, ps представляет вывод в виде статического списка, не обновляемого в реальном времени.
В ps команда использует следующий синтаксис:
Часто используемый ps параметры команды включают:
- а : Список всех разрушающих процессов для всех пользователей.
- -A, -e; Список всех процессов в системе.
- -а : Список всех процессов, кроме лидеров сеанса (случаи, когда идентификатор процесса совпадает с идентификатором сеанса) и процессов, не связанных с терминалом.
- -d : Перечислить все процессы, кроме лидеров сеанса.
- —deselect, -N : Перечислить все процессы, кроме тех, которые удовлетворяют определенному пользователем условию.
- f : Отображает иерархию процессов в виде ASCII-арта.
- -j : Отображение вывода в формате заданий.
- T : Список всех процессов, связанных с этим терминалом.
- r : Список только запущенных процессов.
- u : Разверните вывод, чтобы включить дополнительную информацию, например, об использовании ЦП и памяти.
- -u : Определите пользователя, процессы которого вы хотите перечислить.
- x : Включить процессы без TTY.
Примечание: Ознакомьтесь с полным списком ps параметры команды с помощью man ps.
Запуск ps команда без каких-либо параметров дает результат, подобный следующему:
Вывод по умолчанию включает следующие категории:
- PID: Идентификационный номер процесса.
- TTY: Тип терминала, на котором выполняется процесс.
- TIME: Общая загрузка ЦП.
- CMD: Имя команды, запустившей процесс.
Используя комбинацию a , u , а также x options приводит к более подробному выводу:
Новые категории расширенного вывода включают:
- USER: Имя пользователя, запустившего процесс.
- %CPU: Процент использования ЦП.
- % MEM: Процент использования памяти.
- VSZ: Общая виртуальная память, используемая процессом, в килобайтах.
- RSS: Размер резидентного набора, часть ОЗУ, занятая процессом.
- STAT: Текущее состояние процесса.
- START: Время начала процесса.
Чтобы отобразить запущенные процессы в иерархическом виде, введите:
Примечание: При использовании более одного ps параметр команды, содержащий символ тире («—«), вам нужно использовать только один символ тире, прежде чем перечислять параметры. Например, чтобы использовать ps команда с -e а также -f варианты, тип ps -ef .
Отфильтруйте список процессов по пользователю с помощью:
Например, отображение списка процессов, запущенных пользователем с именем phoenixnap:
Список запущенных процессов в Linux с помощью команды top
В top команда отображает список запущенных процессов в порядке уменьшения загрузки ЦП. Это означает, что наиболее ресурсоемкие процессы появляются вверху списка:
Выход top команды обновляются в реальном времени с трехсекундной частотой обновления по умолчанию. В top Выходные данные команды содержат следующие категории:
- PID: Идентификационный номер процесса.
- USER: Имя пользователя, запустившего процесс.
- PR: Приоритет планирования для процесса.
- NI: Хорошее значение процесса с отрицательными числами, указывающими на более высокий приоритет.
- VIRT: Объем виртуальной памяти, используемый процессом.
- RES: Объем резидентной (физической) памяти, используемой процессом.
- SHR: Общая общая память, используемая процессом.
- S: Статус процесса — R (запущен) или S (спит).
- %CPU: Процент использования ЦП.
- % MEM: Процент использования памяти.
- TIME++: Общая загрузка ЦП.
- COMMAND: Имя команды, запустившей процесс.
В то время как top команда запущена, используйте следующие параметры для взаимодействия с ней или изменения формата вывода:
- c: Отображение абсолютного пути процесса.
- d: Изменить частоту обновления выходных данных на заданное пользователем значение (в секундах).
- H: Отобразить окно справки.
- k: Убить процесс, указав PID.
- M: Отсортировать список по использованию памяти.
- N: Сортировать список по PID.
- r: Изменить хорошее значение (приоритет) процесса, указав PID.
- z: Изменить выходной цвет, чтобы выделить запущенные процессы.
- q: Выйти из командного интерфейса.
Примечание: Варианты взаимодействия с top команда чувствительна к регистру. Убедитесь, что вы сначала отключили Caps Lock.
Список запущенных процессов в Linux с помощью команды htop
В htop команда предлагает тот же результат, что и top команда, но в более легком для понимания и удобном для пользователя виде.
Поскольку большинство дистрибутивов Linux не включают эту команду, установите ее с помощью:
С помощью htop команда предоставляет следующий вывод:
Используйте следующие клавиши для взаимодействия с htop команда:
- Направленные клавиши: Прокрутка списка процессов по вертикали и горизонтали.
- F1: Открыть окно справки.
- F2: Откройте команду настройки htop.
- F3: Поиск процесса по имени.
- F4: Фильтровать список процессов по имени.
- F5: Переключение между отображением иерархии процессов в виде отсортированного списка или дерева.
- F6: Сортировать процессы по столбцам.
- F7: Уменьшить хорошее значение (повысить приоритет) процесса.
- F8: Увеличить приятное значение (уменьшить приоритет) процесса.
- F9: Убить выбранный процесс.
- F10: Выход из командного интерфейса.
Список запущенных процессов в Linux с помощью команды atop
В atop команда обеспечивает более полный обзор запущенных процессов по сравнению с Топ команда. Начните с установки atop команда с:
В atop команда создает вывод, похожий на:
Раздел заголовка выходных данных команды предоставляет обзор системных ресурсов, включая статистику, связанную с процессами и производительностью, а также использование памяти, диска и сети.
В нижнем разделе перечислены запущенные в данный момент процессы и содержатся следующие категории:
- PID: Идентификационный номер процесса.
- SYSCPU: Использование ЦП процессом при обработке системы.
- USRCPU: Загрузка ЦП процессом во время работы в пользовательском режиме.
- VGROW: Объем виртуальной памяти, занятой процессом с момента последнего обновления выходных данных.
- RGROW: Объем физической памяти, занятой процессом с момента последнего обновления выходных данных.
- RUID: Реальный идентификатор пользователя, запустившего процесс.
- ST: Текущий статус процесса.
- EXC: Код выхода после завершения процесса.
- THR: Количество потоков, используемых процессом.
- S: Текущее состояние основного потока процесса.
- CPUNR: Количество процессоров, используемых процессом.
- CPU: Процент использования ЦП процессом.
- CMD: Имя команды, запустившей процесс.
С помощью atop команда со следующими параметрами изменяет формат вывода:
- -а : Показать только активные процессы.
- -c : Показать командную строку для каждого процесса.
- -d : Показать информацию о диске.
- -l : Показать общие значения как среднее значение в секунду.
- -m : Показать информацию о памяти.
- -n : Показать информацию о сети.
- -s : Показать информацию о планировании процесса.
- -v : Показать подробный вывод.
- -у : Показать отдельные темы.
Используйте следующие флаги для взаимодействия с atop команда:
- а: Сортировать по наиболее активным ресурсам.
- c: Сортировать по потреблению ЦП.
- d: Сортировать по активности диска.
- m: Сортировать по использованию памяти.
- n: Сортировать по сетевой активности.
Найдите идентификаторы процессов с помощью команды pgrep
С помощью pgrep команда позволяет искать конкретный процесс. В pgrep команда использует следующий синтаксис:
Например, используйте следующую команду для поиска Firefox процесс:
В выводе команды указан PID процесса:
Используя этот PID с ps команда позволяет получить больше информации о процессе. В этом примере использование PID 1439 предоставляет информацию о Firefox процесс:
После прочтения этого руководства вы сможете использовать ps , top , htop , and atop команды для вывода списка запущенных процессов в Linux и управления ими.
Используйте доступные параметры команды, чтобы настроить вывод и поведение команды.
Источник
Запущенные процессы в Linux
Как узнать список запущенных процессов в 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*[
—nmbd
—pptpd
—slapd—2*[
—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. продемонстирую небольшой скрипт Bash.
Данный скрипт проверяет имеется ли процесс c именем smb и в том случае если его нет происходит его старт.
grep -v grep необходим, что бы исключить сам процесс поиска smb
#!/bin/bash
ps ax | grep -v grep | grep smb
if [ $? -ne 0 ]
then
/etc/init.d/smb start
else
echo «демон работает» > /dev/null
fi
Количество просмотров: 25412
Комментарии к статье:
Автор комментария: guest
Дата: 2017-04-02
Источник