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

Если вы пользуетесь Linux или только начинаете изучать его, возможно, вам понадобится узнать, какие процессы сейчас работают на вашем компьютере. Процессы — это запущенные программы и команды, которые выполняются вашей операционной системой.

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

Почему важно знать о запущенных процессах в Linux?

Контроль за системой — узнаете, какие программы работают.

Обнаружение проблем — можно увидеть зависшие или потребляющие слишком много ресурсов процессы.

Безопасность — убедитесь, что не запущены подозрительные программы.

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

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

1. команда ps

Это классическая команда для отображения текущих процессов.

Пример:

ps aux

Что значит:

a — показывать процессы всех пользователей.

u — отображать имя пользователя, которому принадлежит процесс.

x — показывать процессы, не привязанные к терминалу.

Что вы увидите:

список процессов с различными данными:

USER — имя пользователя.

PID — уникальный номер процесса.

%CPU — сколько ресурсов процесс использует по CPU.

%MEM — сколько памяти занимает.

COMMAND — название запущенной программы.

Пример вывода:

[root@waky practice]# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  5.5  0.9 108724 16560 ?        Ss   12:36   0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 31
root           2  0.0  0.0      0     0 ?        S    12:36   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        S    12:36   0:00 [pool_workqueue_]
root           4  0.0  0.0      0     0 ?        I<   12:36   0:00 [kworker/R-rcu_g]
root           5  0.0  0.0      0     0 ?        I<   12:36   0:00 [kworker/R-sync_]
root           6  0.0  0.0      0     0 ?        I<   12:36   0:00 [kworker/R-slub_]
root           7  0.0  0.0      0     0 ?        I<   12:36   0:00 [kworker/R-netns]
…
root         794  0.5  0.3 161112  6464 ?        Ssl  12:36   0:00 /usr/sbin/rsyslogd -n
root         815  0.0  0.1  12068  1928 ?        Ss   12:36   0:00 nginx: master process /usr/sbin/nginx
nginx        817  0.0  0.3  16520  5592 ?        S    12:36   0:00 nginx: worker process
apache       831  0.0  0.7 186496 13412 ?        S    12:36   0:00 php-fpm: pool www
apache       832  0.0  0.7 186496 13416 ?        S    12:36   0:00 php-fpm: pool www
apache       833  0.0  0.7 186496 13412 ?        S    12:36   0:00 php-fpm: pool www
apache       834  0.0  0.7 186496 13412 ?        S    12:36   0:00 php-fpm: pool www
apache       838  0.0  0.7 186496 13416 ?        S    12:36   0:00 php-fpm: pool www
root         862  0.7  0.8  24948 14576 ?        Ss   12:36   0:00 /usr/lib/systemd/systemd --user
root         870  0.0  0.4 109984  7476 ?        S    12:36   0:00 (sd-pam)
mysql        898  2.1  5.0 1095316 88852 ?       Ssl  12:36   0:00 /usr/libexec/mariadbd --basedir=/usr
root         920  0.2  0.4  17952  7696 ?        R    12:36   0:00 sshd-session: root@pts/0
root         923  0.1  0.2   7572  4180 pts/0    Ss   12:36   0:00 -bash
root        1440  0.0  0.2  10048  3556 pts/0    R+   12:36   0:00 ps aux
[root@waky practice]#

2. команда top

Это интерактивный инструмент, показывающий процессы в реальном времени.

Пример:

top

Что делает:

Показывает в реальном времени список активных процессов.

Можно сортировать по cpu или памяти.

Пример вывода:

top - 12:38:05 up 2 min,  1 user,  load average: 0.36, 0.30, 0.12
Tasks: 115 total,   1 running, 114 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  1.0 sy,  0.0 ni, 97.3 id,  0.0 wa,  1.3 hi,  0.3 si,  0.0 st
MiB Mem :   1707.7 total,   1213.0 free,    425.1 used,    217.9 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1282.6 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    487 root      20   0       0      0      0 I   1.3   0.0   0:01.44 kworker/0:4-events
     69 root      20   0       0      0      0 I   0.3   0.0   0:00.11 kworker/0:2-ata_sff
   1443 root      20   0   10496   4200   3396 R   0.3   0.2   0:00.03 top
      1 root      20   0  108724  16560  11104 S   0.0   0.9   0:02.35 systemd
      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.00 pool_workqueue_
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-rcu_g
      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-sync_
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-slub_
      7 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-netns
      …

Чтобы выйти из программы нажмите на английской раскладке q.

3. команда htop

htop — улучшенная версия top с более удобным интерфейсом и возможностями. Из минусов, она не идет в набор предустановленных программ. Но она присутствует во всех основных дистрибутивах, так что установить ее не станет проблемой.

Если не установлена:

установка на CentOS

установка на Ubuntu

Запуск:

htop

Интерфейс содержит те же столбцы что и в обычном top.

Что означают основные параметры процессов:

PID (Process ID) — уникальный номер процесса.

USER — пользователь, запустивший программу.

CPU % — сколько процентов процесс использует CPU.

MEM % — сколько памяти занимает.

COMMAND — название программы или команда, которая запустила процесс.

Подробнее об использовании htop читайте в нашей отдельной статье.

Заключение

Теперь вы знаете, как посмотреть, какие процессы работают в Linux:

через команду ps aux — чтобы получить полный список процессов в текстовом виде;

через top и htop — не так удобно изучать весь список, но полезно, когда нужно отслеживать процессы в динамике.

Эти инструменты помогают контролировать работу системы, отслеживать процессы и находить проблемы.