Если вы пользуетесь 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 с более удобным интерфейсом и возможностями. Из минусов, она не идет в набор предустановленных программ. Но она присутствует во всех основных дистрибутивах, так что установить ее не станет проблемой.
Если не установлена:
Запуск:
htop
Интерфейс содержит те же столбцы что и в обычном top.
Что означают основные параметры процессов:
PID (Process ID) — уникальный номер процесса.
USER — пользователь, запустивший программу.
CPU % — сколько процентов процесс использует CPU.
MEM % — сколько памяти занимает.
COMMAND — название программы или команда, которая запустила процесс.
Подробнее об использовании htop читайте в нашей отдельной статье.
Заключение
Теперь вы знаете, как посмотреть, какие процессы работают в Linux:
через команду ps aux — чтобы получить полный список процессов в текстовом виде;
через top и htop — не так удобно изучать весь список, но полезно, когда нужно отслеживать процессы в динамике.
Эти инструменты помогают контролировать работу системы, отслеживать процессы и находить проблемы.