Linux как найти процесс по имени

In order to search for a process you can use ps with grep.

For example to search for firefox

ps aux | grep firefox

How to get the same answer without using grep?

muru's user avatar

muru

191k52 gold badges468 silver badges719 bronze badges

asked Apr 22, 2015 at 5:40

Maythux's user avatar

2

The pgrep command, and its sibling pkill, exists precisely for this purpose:

  • pgrep firefox will list all processes whose commands match firefox
  • pgrep -f firefox will list all processes whose entire command lines match firefox
  • pgrep -x firefox will list all processes whose commands exactly match firefox
  • … and so on.

And naturally, pgrep will exclude itself from the match, so none of the grep rituals associated with ps | grep are needed.


The other set of tools for this are the pidof and killall commands. These aren’t as flexible as pgrep and pkill.

  • pidof firefox will list processes whose command is firefox

answered Apr 22, 2015 at 5:56

muru's user avatar

murumuru

191k52 gold badges468 silver badges719 bronze badges

1

ps -fC process-name

example:

ps -fC firefox

from man ps

  -C cmdlist      Select by command name.
                       This selects the processes whose executable name is
                       given in cmdlist.


 -f              Do full-format listing. This option can be combined
                       with many other UNIX-style options to add additional
                       columns. It also causes the command arguments to be
                       printed. When used with -L, the NLWP (number of
                       threads) and LWP (thread ID) columns will be added. See
                       the c option, the format keyword args, and the format
                       keyword comm.

answered Apr 22, 2015 at 5:46

Maythux's user avatar

MaythuxMaythux

82.3k54 gold badges238 silver badges270 bronze badges

1

A cool trick

$ps -ejH

You will get all the processes with names

exmple:
1747   568   568 ?        00:00:00   colord
1833  1832  1832 ?        00:00:00   gnome-keyring-d
2263   568   568 ?        00:00:00   udisksd
2311  2311  2311 ?        00:00:00   cupsd
2315  2315  2311 ?        00:00:00     dbus

Redirect or so copy the output to a file and then open nano,
press Ctrl+W
and you can search for the name you want.

Zanna's user avatar

Zanna

68.9k55 gold badges215 silver badges327 bronze badges

answered Jan 3, 2017 at 6:45

daniel's user avatar

top allows you to search for string when you hit uppercase L; the process will be highlighted, and use up and down arrow keys to scroll through list of processes. Similarly,
htop command allows highlighting a particular process when you hit /. And will filter all the processes with a particular string in the name.

For those who like awk, here’s an awk oneliner: ps -eF | awk '/process-name/ {print $11}'
. With ps -eF process name is always in 11th column. Alternatively if you do ps -eF | awk '{print $11}' | sort you get a sorted list of processes names, sorted alphabetically. Pipe it into less command just to view the long list of files easier.

answered Apr 22, 2015 at 6:38

Sergiy Kolodyazhnyy's user avatar

You can also use htop and then hit F4 to filter the results with a matching user-defined string. You also have a custom search feature available by hitting F3.

answered Apr 22, 2015 at 9:36

JoErNanO's user avatar

JoErNanOJoErNanO

1211 silver badge6 bronze badges

If two processes is the problem, you can use only grep:

grep firefox /proc/*/cmdline

answered Aug 11, 2016 at 11:18

user1497298's user avatar

If the reason you don’t want to use ps | grep is because it loses the first line (the column headers), you can do:

ps aux | grep 'firefox|^USER'

This is grepping for a line that contains firefox or a line that starts with USER (the first line of header line on my distro).

answered Aug 17, 2022 at 13:47

Kip's user avatar

I just read this ps alias on the Lennart Poettering Blog. The output is according to the systemd control group parenting:

alias psc='ps xawf -eo pid,user,cgroup,args'

wjandrea's user avatar

wjandrea

14k4 gold badges46 silver badges97 bronze badges

answered Sep 9, 2018 at 0:21

DDPenga's user avatar

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

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

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

При написании этой статьи я использовал Ubuntu. Однако команды могут работать в любом дистрибутиве Linux.

Содержание

  1. Определение местоположения процесса Linux
  2. Завершение процесса по идентификатору
  3. Как проверить, был ли процесс завершен или нет?
  4. Завершение процесса по имени
  5. Заключение

Определение местоположения процесса Linux

Шаг 1: Прежде всего, откройте Terminal, нажав на пусковую установку Ubuntu и выполнив поиск Terminal.

Открытие терминала

Шаг 2: Теперь нажмите на Терминал и подождите, пока он откроется.

Шаг 3: Как только терминал откроется, у вас появится вот такой экран:

Командная строка терминала

В последующих шагах важны следующие два ключа:

PID — это идентификатор процесса. Каждый процесс имеет определенный 5-значный номер, присвоенный самому процессу. Эти номера могут повторяться, когда они достигают максимального предела, но они всегда уникальны для процесса в системе.

Шаг 4: команда top- используется в качестве основной команды для просмотра всех запущенных процессов, использующих ресурсы компьютерного устройства. Итак, мы выполняем команду top- в терминале и получаем следующие результаты

Использование команды Linux top для поиска процесса

Команда top сама по себе является приложением. Оно может использоваться для отображения списка всех процессов и имеет новое оформление при выполнении. Вот пример,

  • h — используется для отображения окна справки. В окне справки есть все команды, они предоставляют информацию, которая весьма полезна.
  • пробел — При нажатии пробела мы получим немедленное обновление таблицы процессов. Нам не придется ждать никакого временного интервала.
  • f — добавление файлов для отображения в макете или удаление для удаления определенных полей, чтобы они не отображались.
  • q — используется для выхода из верхнего приложения, а также для дополнительно открытого окна.
  • l — используется для переключения отображения информации о средней нагрузке и времени работы.
  • m — служит для переключения отображения информации о памяти.
  • P (Shift + p) — используется для сортировки процессов по использованию процессора.s — используется для изменения задержки между обновлениями.

Шаг 5: Для просмотра списка всех запущенных процессов есть еще одна команда

Команда ps в Linux

Появится список всех запущенных в данный момент процессов. Этот процесс показывает все запущенные процессы, которые имеют свои PID «идентификаторы процессов». Вы можете просмотреть этот список, чтобы найти имя процесса, которое также соответствует программе, которую вы хотите убить. В конце списка отображаются программы, запущенные в последнее время, которые вы хотите завершить из списка.

Когда вы закончите, нажмите «q», чтобы выйти из этого окна.

Завершение процесса по идентификатору

Получив PID, мы можем использовать команду kill, чтобы завершить процесс на основе информации, полученной от команды ps -A.

Шаг 1: Для этого мы используем команду «sudo kill PID». Где PID — это идентификатор процесса, который мы хотим завершить.

Если мы хотим завершить определенный процесс, мы видим его соответствующий PID, а затем используем его, чтобы завершить запущенный процесс. Например, мы хотим завершить процесс «firefox», поэтому сначала находим его PID.

Список процессов

Итак, здесь PID firefox равен 16562. Мы используем команду «sudo kill PID», чтобы завершить процесс Firefox.

Как проверить, был ли процесс завершен или нет?

Затем мы проверяем все запущенные процессы после того, как убьем интересующий нас процесс, используя команду «ps -A | less». Результат показывает, что в списке нет процесса firefox (PID: 16562).

Проверьте, был ли процесс убит

Завершение процесса по имени

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

Сейчас мы убьем интересующий нас процесс, используя его имя. Если мы хотим завершить конкретный процесс, мы видим его соответствующий PID и затем используем его для убийства запущенного процесса. Например, мы хотим завершить процесс «firefox», поэтому сначала находим его PID. Завершить процесс Linux по имени

Итак, здесь имя процесса — firefox, и мы используем команду «pkill firefox» для завершения этого процесса.

Затем мы проверим все запущенные процессы после того, как убьем интересующий нас процесс, используя команду «ps -A | less». Результат показывает, что в списке нет процесса firefox.

Заключение

Спасибо, что прочитали эту статью. Мы рассмотрели, как можно найти и затем завершить процесс, используя его ID или имя.

May 28, 2019

Query the name of the running process, usually requires the linux ps command, linux netstat command, linux awk command and the linux grep command.

grep process by name

➜ ps -ef | grep nginx

grep process by port

➜  grep netstat -an | grep "*.8080"

grep process id and kill

➜ ps -ef | grep "tail"  | grep -v grep | awk -F" " 'system("kill  "$2"")'

Command interpretation:

step 1. Show the process you want to kill and exclude the grep command.

➜ ps -ef | grep "tail"  | grep -v grep

step 2. Get the process pid you want to kill.

➜  grep ps -ef | grep "tail -f"  | grep -v grep | awk -F" " '{print $2}'

step 3. Kill the process with awk system.

➜ ps -ef | grep "tail"  | grep -v grep | awk -F" " 'system("kill  "$2"")'

Как вы думаете, операционная система Linux может автоматически позаботиться сама о себе? Когда работает все нормально или вам не нужны никакие нестандартные возможности — вполне да. Но иногда может понадобиться ваше вмешательство в ее работу.

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

В этой статье будет затронута обширная тема, мы рассмотрим такие возможности:

  • Просмотр запущенных процессов
  • Просмотр информации о процессах
  • Поиск процессов в Linux
  • Изменение приоритета процессов
  • Завершение процессов
  • Ограничение памяти доступной процессу

Я не мог не включить в статью первые пункты, но они очень просты и мы не будем разбирать их очень подробно. Но вот все остальное может показаться сложным и недостаточно описанным.

Что такое процесс?

Начнем с того, что разберемся в терминах. По сути, процесс — это каждая программа. Как я уже говорил для каждой запускаемой программы создается отдельный процесс. В рамках процесса программе выделяется процессорное время, оперативная память и другие системные ресурсы. У каждого процесса есть свой идентификатор, Proccess ID или просто PID, по ним, чаще всего и определяются процессы Linux. PID определяется неслучайно, как я уже говорил, программа инициализации получает PID 1, а каждая следующая запущенная программа — на единицу больше. Таким образом PID пользовательских программ доходит уже до нескольких тысяч.

На самом деле, процессы Linux не настолько абстрактны, какими они вам сейчас кажутся. Их вполне можно попытаться пощупать. Откройте ваш файловый менеджер, перейдите в корневой каталог, затем откройте папку /proc. Видите здесь кучу номеров? Так вот это все — PID всех запущенных процессов. В каждой из этих папок находится вся информация о процессе.

Например, посмотрим папку процесса 1. В папке есть другие под каталоги и много файлов. Файл cmdline содержит информацию о команде запуска процесса:

cat /proc/1/cmdline

/usr/lib/systemd/systemd

Поскольку у меня используется система инициализации Systemd, то и первый процесс запускается для нее. С помощью каталога /proc можно сделать все. Но это очень неудобно, особенно учитывая количество запущенных процессов в системе. Поэтому для реализации нужных задач существуют специальные утилиты. Перейдем к рассмотрению утилит, которые позволяют реализовать управление процессами в Linux.

В Linux есть очень большое количество утилит для решения различных задач по управлению процессами. Это и такие многофункциональные решения, как htop, top, а также простые утилиты, например, ps, kill, killall, who и т д. Я не буду рассматривать в этой статье графические утилиты, и top тоже рассматривать не буду. Первое потому что слишком просто, второе — потому что htop лучше. Мы остановимся на работе с программой htop и ее аналогами в форме утилит в стиле GNU, одна утилита — одна функция.

Давайте установим htop, если она у вас еще не установлена. В Ubuntu это делается так:

sudo apt install htop

В других дистрибутивах вам нужно просто использовать свой менеджер пакетов. Имя пакета такое же.

Посмотреть запущенные процессы

Это очень простая задача, и также просто она решается. Для этого существует множество утилит, начиная от обычной ps, до более продвинутых интерактивных top, htop и так далее.

Открыв htop, мы сразу видим список запущенных процессов. Конечно, здесь отображены не все процессы linux, их-то в системе очень много, вы уже знаете, все они на один экран не поместятся. По умолчанию выводятся процессы, запущенные от имени вашего пользователя:

htop

Вы можете увидеть такую информацию о процессе:

  • PID — идентификатор процесса
  • USER — пользователь, от которого был запущен процесс
  • PRI — приоритет процесса linux на уровне ядра (обычно NI+20)
  • NI — приоритет выполнения процесса от -20 до 19
  • S — состояние процесса
  • CPU — используемые ресурсы процессора
  • MEM — использованная память
  • TIME — время работы процесса

К отображению можно добавить и дополнительные параметры, но эти главные. Добавить параметры можно с помощью меню Setup. Там все очень просто, читайте подсказки и следуйте указаниям. Например, добавлен параметр PPID:

Очень важной особенностью программы есть то, что вы можете сортировать процессы в Linux по нужному параметру. Просто кликните по названию параметра, оно выделится зеленым и будет выполнена сортировка. Например, хотите посмотреть в каком порядке запускались процессы, сортируем по PID:

htop2

Также есть интересная возможность разместить процессы в виде дерева. Вы сможете увидеть, каким процессом был запущен тот или иной процесс. Для отображения дерева нажмите кнопку F5:

htop3

Почти те же действия вы можете выполнять с помощью программы ps. Только здесь нет такого удобного интерактивного режима. Все делается с помощью опций.

ps

Рассмотрим основные опции, которые будем использовать:

  • -e — вывести информацию обо всех процессах
  • -a — вывести информацию обо всех наиболее часто запрашиваемых процессах
  • -t — показывать только процессы из этого терминала
  • -p — показывать информацию только об указанном процессе
  • -u — показывать процессы только определенного пользователя

Одним словом, чтобы посмотреть все активные на данный момент процессы в linux, используется сочетание опций aux:

ps aux

Программа показывает все те же параметры, только здесь нет интерактивного интерфейса. Думаете здесь нельзя отсортировать процессы, но ошибаетесь, можно. Для этого есть опция sort. Вы можете сортировать их по любому полю, например:

ps aux --sort=%mem

Список будет отсортирован в обратном порядке, внизу значения больше, вверху — меньше. Если нужно в обратном порядке, добавьте минус:

ps aux --sort=-%cpu

ps1

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

ps aux | tail

Казалось бы, у ps нет возможности стоить деревья процессов. Но не совсем, для этого существует отдельная команда:

pstree

pstree

Поиск процессов в Linux

Список процессов, это хорошо. Но иногда, когда какой-нибудь процесс завис и нужно убить процесс Linux или нам нужно провести с ним какие-либо действия, нужно выделить этот процесс из списка, узнать его PID и информацию о нем.

Чтобы найти процесс linux в htop можно использовать кнопку F3. Нажмите F3 и наберите нужное слово. Дальше чтобы перейти к следующему вхождению нажимайте F2 или Esc для завершения поиска:

htop4

Для поиска процессов в htop можно использовать также фильтр htop. Нажмите F4, введите слово и будут выведены только процессы linux, имя которых включает это слово.

htop6

В утилите ps фильтрации нет, но зато мы можем использовать утилиту grep, перенаправив вывод ps на нее чтобы найти процесс linux:

ps aux | grep chromium

Это очень часто употребляемая команда.

Изменение приоритета процессов

Приоритет процесса linux означает, насколько больше процессорного времени будет отдано этому процессу по сравнению с другими. Так мы можем очень тонко настроить какая программа будет работать быстрее, а какая медленнее. Значение приоритета может колебаться от 19 (минимальный приоритет) до -20 — максимальный приоритет процесса linux. Причем, уменьшать приоритет можно с правами обычного пользователя, но чтобы его увеличить нужны права суперпользователя.

В htop для управления приоритетом используется параметр Nice. Напомню, что Priv, это всего лишь поправка, она в большинстве случаев больше за Nice на 20. Чтобы изменить приоритет процесса просто установите на него курсор и нажимайте F7 для уменьшения числа (увеличения приоритета) или F8 — для увеличения числа.

Но и для решения этой задачи управления процессами Linux необязательно использовать htop. Вы можете сделать все и другими командами. Например, команда nice. С помощью нее вы можете указать приоритет для запускаемого процесса:

nice -n 10 apt-get upgrade

Или изменить приоритет для уже существующего по его pid:

renice -n 10 -p 1343

 Завершение процессов в Linux

Если процесс завис и не отвечает, его необходимо завершить. В htop, чтобы убить процесс Linux, просто установите курсор на процесс и нажмите F9:

htop7

Система для управления процессами использует определенные сигналы, есть сигналы, которые указывают процессу завершиться. Вот несколько основных сигналов:

  • SIGTERM — попросить процесс сохранить данные и завершится
  • SIGKILL — завершить процесс немедленно, без сохранения

Вообще сигналов есть несколько десятков, но мы не будем их рассматривать. Отправим сигнал SIGKILL:

Также можно воспользоваться утилитой kill:

kill -TERM 1943

Также можно уничтожить процесс по имени:

killall chromium

Ограничение процессов

Управление процессами в Linux позволяет контролировать практически все. Вы уже видели что можно сделать, но можно еще больше. С помощью команды ulimit и конфигурационного файла /etc/security/limits.conf вы можете ограничить процессам доступ к системным ресурсам, таким как память, файлы и процессор. Например, вы можете ограничить память процесса Linux, количество файлов и т д.

Запись в файле имеет следующий вид:

<домен> <тип> <элемент> <значение>

  • домен — имя пользователя, группы или UID
  • тип — вид ограничений — soft или hard
  • элемент — ресурс который будет ограничен
  • значение — необходимый предел

Жесткие ограничения устанавливаются суперпользователем и не могут быть изменены обычными пользователями. Мягкие, soft ограничения могут меняться пользователями с помощью команды ulimit.

Рассмотрим основные ограничения, которые можно применить к процессам:

  • nofile — максимальное количество открытых файлов
  • as — максимальное количество оперативной памяти
  • stack — максимальный размер стека
  • cpu — максимальное процессорное время
  • nproc — максимальное количество ядер процессора
  • locks — количество заблокированных файлов
  • nice — максимальный приоритет процесса

Например, ограничим процессорное время для процессов пользователя sergiy:

sergiy hard nproc 20

Посмотреть ограничения для определенного процесса вы можете в папке proc:

cat /proc/PID/limits

Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 204800 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 23562 23562 processes
Max open files 1024 4096 files
Max locked memory 18446744073708503040 18446744073708503040 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 23562 23562 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us

Ограничения, измененные, таким образом вступят в силу после перезагрузки. Но мы можем и устанавливать ограничения для текущего командного интерпретатора и создаваемых им процессов с помощью команды ulimit.

Вот опции команды:

  • -S — мягкое ограничение
  • -H — жесткое ограничение
  • -a — вывести всю информацию
  • -f — максимальный размер создаваемых файлов
  • -n — максимальное количество открытых файлов
  • -s — максимальный размер стека
  • -t — максимальное количество процессорного времени
  • -u — максимальное количество запущенных процессов
  • -v — максимальный объем виртуальной памяти

Например, мы можем установить новое ограничение для количества открываемых файлов:

ulimit -Sn 1024

Теперь смотрим:

ulimit -Sn

Установим лимит оперативной памяти:

ulimit -Sv 500000

Напоминаю, что это ограничение будет актуально для всех программ, выполняемых в этом терминале.

Выводы

Вот и все. Теперь управление процессами в Linux не вызовет у вас проблем. Мы рассмотрели очень даже подробно эту тему. Если у вас остались вопросы или есть предложения по дополнению статьи, пишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

pidof и pgrep – это две команды, которые должен знать каждый администратор Linux.

Вы, возможно, никогда не нуждались в них, но если это случилось, вы будете рады, что они находятся в вашем инструменте.

Что вы будете делать, если сервер центра обработки данных Linux работает медленно?

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

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

Существует несколько способов сделать это.

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

Оттуда вы можете найти идентификатор процесса и посмотреть, сколько использования памяти использует этот процесс.

Или вы можете пойти по другому маршруту и использовать пару команд, чтобы найти этот идентификатор процесса (PID) по имени.

В частности, есть две команды, каждая из которых должна знать каждый администратор Linux.

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

Я буду демонстрировать на Ubuntu Server 18.04, но команды доступны (и используются одинаково) на всех платформах Linux.

pidof

Команда pidof является первой, на которой мы рассмотрим.

Как и следовало ожидать, он сообщит нам PID службы.

Эта команда найдена на ваших серверах Linux из коробки, поэтому нет необходимости устанавливать что-либо.

Предположим, у вас есть сервер LAMP в вашем центре обработки данных, и Apache ведет себя плохо (или, по крайней мере, вы его предполагаете).

Для устранения неполадок вам может потребоваться найти PID Apache.

К счастью, у вас есть команда pidof, поэтому вы можете указать:

pidof apache2

В случае Apache вам может быть возвращен ряд PID

Теперь у вас есть каждый идентификатор процесса вашего текущего сервера Apache.

Конечно, с таким процессом, как Apache, вовремя он себя ведет, вы можете захотеть сделать быстрый перезапуск с помощью команды, такой как sudo systemctl restart apache2.

Но если служба не отвечает на перезагрузку, что вы делаете?

К счастью, у вас есть эти PID, поэтому вы всегда можете убить службу (используя команду PID kill, где PID – это PID службы, которую нужно убить).

Убийство службы, такой как Apache, должно выполняться только в крайнем случае (всегда начинайте с инструмента, такого как systemctl).

Но наличие этих PID в руке может значительно облегчить вашу работу.

pgrep

Команда pgrep работает аналогично pidof, главным отличием является то, что она может искать процесс, основанный на имени или других атрибутах.

Например, pgrep может искать PID, связанные с группой.

В Ubuntu большинство материалов Apache обычно привязаны к группе www-data.

С помощью pgrep легко узнать, какие PID связаны с этой группой.

Выполните команду:

pgrep -G www-data

Вывод указанной команды отобразит все PID, принадлежащие данной группе

Результат этой команды может не принести нам пользы.

В конце концов, как мы узнаем, к чему относятся эти PID (вне группы)?

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

Чтобы получить эту информацию, добавим параметр -l следующим образом:

pgrep -l -G www-data

Теперь мы видим PID и перечисленные сервисы

Вы также можете использовать pgrep для перечисления процесса пользователем.

Если вы выпустили команду pgrep -U root, вы увидите каждый PID, принадлежащий пользователю root (что будет значительным числом).

Если вы выпустили ту же самую команду с использованием определенного пользователя (кроме root), скорее всего, список будет значительно короче.

Например, pgrep -U jack (на моем сервере) возвращает PID:

1225
1234
1251
1352

Чтобы узнать, какие службы связаны с этими PID, выполните команду:

pgrep -l -U jack

Теперь мы видим, какие службы и PID принадлежат пользователю jack:

Продолжай учиться

Лучший способ узнать больше – выдать команды man pidof и man pgrep для чтения страниц руководства для каждой команды.

Эти две команды должны легко вставляться в панель инструментов администратора Linux и помогать вам постоянно.

Понравилась статья? Поделить с друзьями:
  • Как найти apache на сервере
  • Как в зуме найти человека по нику
  • Как узнать найти площадь треугольника
  • Как найти решение арбитражного суда города москвы
  • Как составить формирующий вопрос