Как посмотреть запущенные программы в linux

На сервере Linux, как и на любой другой машине, можно запускать приложения. Компьютер рассматривает их как так называемые «процессы».

В то время как Linux обрабатывает низкоуровневое закадровое управление жизненным циклом процесса, пользователю может понадобиться другой способ взаимодействия с операционной системой для управления процессом на более высоком уровне.

Данное руководство затрагивает некоторые простейшие аспекты управления процессами. Для этого Linux предоставляет широчайший набор инструментов.

Данные понятия будут рассмотрены на примере сервера Ubuntu 12.04, но любой современный дистрибутив Linux будет работать таким же образом.

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

top

Самый простой способ узнать, какие процессы запущены на сервере в данный момент, – использовать команду top:

top
top — 15:14:40 up 46 min, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 56 total, 1 running, 55 sleeping, 0 stopped, 0 zombie

Управление процессами в Linux Перевести процесс в фоновый режим


Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1019600k total, 316576k used, 703024k free, 7652k buffers
Swap: 0k total, 0k used, 0k free, 258976k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 24188 2120 1300 S 0.0 0.2 0:00.56 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
7 root RT 0 0 0 0 S 0.0 0.0 0:00.03 watchdog/0
8 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset
9 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs

Верхняя часть выведенной информации предоставляет статистические данные системы, а именно нагрузку на систему и общее количество задач.

Можно увидеть, что 1 процесс запущен, а 55 процессов находятся в режиме ожидания (иначе говоря, простаивают, не используя ресурсы процессора).

Нижняя часть полученной информации отображает запущенные процессы и статистику по их использованию.

htop

Усовершенствованная версия команды top под названием htop доступна в хранилищах. Чтобы установить ее, используйте данную команду:

Читайте также:
Какой командой можно переключить интерфейс в программе 1с бухгалтерия 8

sudo apt-get install htop

Запустив команду htop, можно увидеть более удобное для пользователя отображение информации:

htop
Mem[||||||||||| 49/995MB] Load average: 0.00 0.03 0.05
CPU[ 0.0%] Tasks: 21, 3 thr; 1 running
Swp[ 0/0MB] Uptime: 00:58:11
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1259 root 20 0 25660 1880 1368 R 0.0 0.2 0:00.06 htop
1 root 20 0 24188 2120 1300 S 0.0 0.2 0:00.56 /sbin/init
311 root 20 0 17224 636 440 S 0.0 0.1 0:00.07 upstart-udev-brid
314 root 20 0 21592 1280 760 S 0.0 0.1 0:00.06 /sbin/udevd —dae
389 messagebu 20 0 23808 688 444 S 0.0 0.1 0:00.01 dbus-daemon —sys
407 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.02 rsyslogd -c5

Основы Linux. Управление процессами. Часть 1


408 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.00 rsyslogd -c5
409 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.00 rsyslogd -c5
406 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.04 rsyslogd -c5
553 root 20 0 15180 400 204 S 0.0 0.0 0:00.01 upstart-socket-br

Как использовать ps для получения списка процессов

Команды top и htop предоставляют удобный интерфейс для просмотра запущенных процессов, аналогичный графическому диспетчеру задач.

Тем не менее, данные инструменты не всегда достаточно гибки, чтобы адекватно охватить все сценарии.

При вызове без аргументов результаты могут быть немного неполными:

ps
PID TTY TIME CMD
1017 pts/0 00:00:00 bash
1262 pts/0 00:00:00 ps

Эти данные отображают все процессы, связанные с текущим пользователем и терминальной сессией. Это имеет смысл, так как в данный момент с терминала запущены только команды bash and ps.

Чтобы получить более полную картину процессов данной системы, можно запустить следующее:

ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 24188 2120 ? Ss 14:28 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S 14:28 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 14:28 0:00 [ksoftirqd/0] root 6 0.0 0.0 0 0 ? S 14:28 0:00 [migration/0] root 7 0.0 0.0 0 0 ? S 14:28 0:00 [watchdog/0] root 8 0.0 0.0 0 0 ? S< 14:28 0:00 [cpuset] root 9 0.0 0.0 0 0 ? S< 14:28 0:00 [khelper] . . .

Читайте также:
Программа поставить пароль на ПК

Эти параметры приказывают ps показать процессы, принадлежащие всем пользователям (вне зависимости от их терминала) в удобном формате.

Чтобы увидеть дерево, отображающее иерархические отношения, можно запустить команду с данными параметрами:

ps axjf
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
0 2 0 0 ? -1 S 0 0:00 [kthreadd] 2 3 0 0 ? -1 S 0 0:00 _ [ksoftirqd/0] 2 6 0 0 ? -1 S 0 0:00 _ [migration/0] 2 7 0 0 ? -1 S 0 0:00 _ [watchdog/0] 2 8 0 0 ? -1 S< 0 0:00 _ [cpuset] 2 9 0 0 ? -1 S< 0 0:00 _ [khelper] 2 10 0 0 ? -1 S 0 0:00 _ [kdevtmpfs] 2 11 0 0 ? -1 S< 0 0:00 _ [netns] . . .

Как можно видеть, процесс kthreadd отображен как порождающий относительно процесса ksoftirqd/0 и других.

Примечание об идентификаторах процессов (PID)

В Linux и Unix-подобных системах каждому процессу присвоен идентификатор (PID). Таким образом операционная система идентифицирует и отслеживает процессы.

Быстрый способ узнать PID процесса – использовать команду pgrep:

pgrep bash
1017

Это запросит идентификатор процесса и вернет его.

Первый порожденный при запуске процесс под названием init получает PID «1».

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

В Linux не всегда бывает предустановлена программа, вроде «диспетчер задач» с графическим интерфейсом. Но есть несколько утилит, позволяющих посмотреть запущенные процессы (программы) из терминала, их гораздо больше, чем здесь описано, но те, что здесь описаны обычно идут в комплекте в любом дистрибутиве Linux.

pstree

pstree — часть показанных программой процессов

У утилиты pstree есть опции, вводить их нужно так:
pstree

Вот основные, часто используемые:
pstree -a показать без потоков
pstree -p показать id процесса (порядковый номер запущенной программы/процесса)
pstree -c отключить компактный показ и показать в развернутом виде компактном виде
pstree процесс с таким pid и процессы/потоки, отходящие от него
pstree показать процессы указанного пользователя

ps

вывод команды ps -ely

ps -ax показать все запущенны процессы с: pid, из какого терминала запущен, команда с помощью которой запускался процесс и его файл
ps -aux показать все запущенные процессы, но с еще большим количеством информации (как ах + пользователь, время старта процесса, потребляемая память и затраты ЦП)
ps -ely покажет помимо pid еще и ppid (родительский процесс) — тот процесс, который запустил данных процесс (программа)

Читайте также:
Как выключить программу talkback

В случае где в столбце TTY (терминал) стоит ? значит, что скорее всего процесс был запущен либо на старте ОС, либо он откреплен от терминала (такие процессы называют демонами да, да 😀 )

(нужно ли об этом подробнее рассказать?)

У утилиты еще много различных опций, но ими я не пользовался

top и htop

В отличие от ps и pstree, эти утилиты в реальном времени показывают какие процессы выполняются. Можно их назвать консольной альтернативой диспетчера задач в Windows.

утилита top

top покажет список процессов запущенных в данные момент с информацией о PID, пользователе, приоритете, потребляемом количестве оперативной памяти и ресурса процессора, название само команды и др.
Вверху будет показана информация об общем количестве запущенных процессов, а также сколько из них находятся в различных состояниях (запущенные, спящие, остановленные, зомби). Также показывается общее, используемое, свободное и буферизованное/кешированное количество памяти.
Для выхода из утилиты нажмите q

htop показывает почти то же самое, но гораздо в более удобном формате, кроме того, можно легко отфильтровать по определенному свойству процессы (например, по возрастанию PID или по количеству используемой памяти или иное), некоторые колонки свойств можно убрать или наоборот добавить недостающие. А еще наглядно показываются потоки у процессов, если они есть. Вверху есть полосы, показывающие сколько использовано оперативной памяти и ресурсов процессора, в том числе для каждого ядра процессора. Самое приятное, что хоть это и консольная программа, но она цветная, поэтому можно быстро визуально найти нужную информацию.
Внизу показаны подсказки, на какую клавишу нажать, чтобы залезть в настройки.
переключение между режимом просмотра, режимом сортировки процессов по свойствам и режимом настройки утилиты происходит по нажатию и > (угловых скобок). А если часть названия процесса не умещается на экран, но понажимайте -> и (стрелки).
Для выхода из утилиты нажмите q

если htop не установлена, выполните:
sudo apt-get install htop

htop, режим просмотра (здесь показывается, как будто бы у меня 1-ядерный процессор. Дело в том, что у меня Linux запущен на виртуальной машине)

Источник: dzen.ru

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

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru