Как найти процесс по имени на серверах центров обработки данных Linux

by itisgood

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.

Чтобы получить эту информацию, добавим параметр -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 и помогать вам постоянно.

 

You may also like

Leave a Comment