как узнать пид процесса linux

Команда Linux / Unix, чтобы определить, запущен ли процесс?

14 ответов

пока pidof и pgrep являются отличными инструментами для определения того, что работает, они оба, к сожалению, недоступны в некоторых операционных системах. Определенный fail safe был бы использовать следующее: ps cax | grep command

вывод на Gentoo Linux:

выход на OS X:

в Linux и OS X grep возвращает код выхода, поэтому легко проверить, был ли найден процесс или не:

кроме того, если вы хотите список PIDs, вы можете легко grep для тех, а также:

чьи выходные данные одинаковы в Linux и OS X:

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

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

внимание.

ссылки:

only the process id (pid) поистине уникально.

как определить, работает ли процесс (по pid)

теперь возникает вопрос, Как узнать, работает ли pid.

это будет работать на Linux,BSD, Solaris и т. д.

на большинстве дистрибутивов Linux, вы можете использовать pidof (8).

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

например, в моей системе (у меня есть четыре экземпляра bash и один раз remmina под управлением):

на других Юниксов, pgrep или комбинацию ps и grep достигнет того же самого, что и другие по праву указывать.

самый простой способ-использовать ps и grep:

пример: покажите мне, если какой-либо процесс Java с аргументом:

Это должно работать на большинстве вкусов Unix, BSD и Linux:

о системе, где генетика родного ps командная точка обратно в SysV, вы бы использовали

собирая различные предложения вместе, самая чистая версия, которую я смог придумать (без ненадежного grep, который запускает части слов), это:

вы должны знать PID вашего процесса.

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

этот подход можно использовать в случае, если команды «ps», «pidof» и rest недоступны. Я лично очень часто использую procfs в своих инструментах/скриптах/программах.

небольшое объяснение, что происходит:

это выводит количество процессов, базовым именем которых является «chromium-browser»:

если это печатает «0», процесс не выполняется. Команда предполагает, что путь процесса не содержит пробела. Я не тестировал это с приостановленными процессами или процессами зомби.

проверена с помощью gwak как awk альтернативы в Linux.

вот более универсальное решение с некоторым примером использования:

вот моя версия. Особенности:

ни один из ответов не сработал для меня, поэтому вот мой:

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

следующая функция оболочки, основанная только на стандартных командах и параметрах POSIX, должна работать в большинстве (если не в любой) систем Unix и linux. :

обратите внимание, что он задохнется при передаче сомнительного имени команды «0]», а также не сможет идентифицировать процессы, имеющие встроенное пространство в их именах.

обратите внимание также, что наиболее загруженное и принятое решение требует не переносного ps options и безвозмездно использует оболочку, которая, несмотря на свою популярность, не гарантируется присутствие на каждой машине Unix / Linux ( bash )

Источник

9 самых простых способов узнать идентификатор процесса (PID) в Linux

как узнать пид процесса linux. %D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA %D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0 %D0%BE%D1%82 2018 09 25 10 43 14. как узнать пид процесса linux фото. как узнать пид процесса linux-%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA %D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0 %D0%BE%D1%82 2018 09 25 10 43 14. картинка как узнать пид процесса linux. картинка %D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA %D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0 %D0%BE%D1%82 2018 09 25 10 43 14.

Linux GUI также предлагает ту же функцию, но CLI – эффективный способ выполнения операции kill.

Что такое идентификатор процесса PID?

PID обозначает идентификационный номер процесса, который обычно используется большинством ядер операционной системы, таких как Linux, Unix, macOS и Windows.

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

Процесс – это исполняемый экземпляр программы.

PID для запущенных процессов в системе можно найти с помощью следующих девяти методов, таких как команда pidof, команда pgrep, команда ps, команда pstree, команда ss, команда netstat, команда lsof, команда fuser и команда systemctl.

В этом уроке мы рассмотрим идентификатор процесса Apache для проверки.

Метод-1: Использование команды pidof

pidof используется для поиска идентификатора процесса запущенной программы.

Он выводит эти идентификаторы на стандартный вывод.

Чтобы продемонстрировать это, мы узнаем идентификатор процесса Apache2 из системы Debian 9.

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

Следовательно, нам нужно выяснить родительский PID (PPID), который мы ищем.

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

Способ-2: Использование команды pgrep

pgrep просматривает текущие процессы и перечисляет идентификаторы процессов, которые соответствуют критериям выбора для stdout.

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

В моем случае это 3754.

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

Метод-3: Использование команды pstree

pstree показывает запущенные процессы как дерево.

Дерево коренится либо в pid, либо в init, если pid опущен.

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

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

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

Команда pstree очень простая, потому что она отдельно разделяет родительский и дочерний процессы

Метод-4: Использование команды ps

ps отображает информацию о выборе активных процессов.

Он отображает идентификатор процесса (pid = PID), терминал, связанный с процессом (tname = TTY), кумулятивное время процессора в формате [DD-] hh: mm: ss (time = TIME) и исполняемое имя (ucmd = ЦМД).

По умолчанию выходной файл не сортируется.

Из вышеприведенного вывода мы можем легко идентифицировать идентификатор родительского процесса (PPID) на основе даты начала процесса.

В моем случае процесс apache2 был запущен @ Dec11, который является родителем, а другие – дочерними. PID apache2 равен 3754.

Метод-5: Использование команды ss

ss используется для вывода статистики сокетов.

Он позволяет отображать информацию, аналогичную netstat.

Он может отображать больше информации о TCP и состоянии, нежели другие инструменты.

Он может отображать статистику для всех типов сокетов, таких как PACKET, TCP, UDP, DCCP, RAW, домен Unix и т. д.

Метод-6: Использование команды netstat

netstat – вывод сетевых подключений, таблиц маршрутизации, статистики интерфейсов, соединений маскарадинга и многоадресной рассылки.

По умолчанию netstat отображает список открытых сокетов.

Если вы не укажете каких-либо семейств адресов, будут выведены активные сокеты всех сконфигурированных семейств адресов.

Эта программа устарела. Замена для netstat – ss.

Метод-7: использование команды lsof

lsof – список открытых файлов.

Команда lsof Linux выводит информацию о файлах, открытых для процессов, запущенных в системе.

Метод-8: Использование команды fuser

Утилита fuser должна записывать на стандартный вывод идентификаторы процессов процессов, запущенных в локальной системе, которые открывают один или несколько именованных файлов.

Метод-9: Использование команды systemctl

systemctl – Управление системой systemd и менеджером сервисов.

Это замена старого системного управления SysV и большинство современных операционных систем Linux были адаптированы systemd.

Источник

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

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

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

Как узнать pid процесса Linux

ps aux | grep имя_процесса

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 15 47 40. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 15 47 40. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 15 47 40.

Кроме нужного нам процесса, утилита также выведет PID для grep, ведь процесс был запущен во время поиска. Чтобы его убрать, добавляем такой фильтр:

Например, узнаём PID всех процессов, имя которых содержит слово «Apache»:

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 15 47 25. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 15 47 25. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 15 47 25.

2. pgrep

Если вам не нужно видеть подробную информацию о процессе, а достаточно только PID, то можно использовать утилиту pgrep:

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 15 47 56. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 15 47 56. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 15 47 56.

По умолчанию утилита ищет по командной строке запуска процесса, если нужно искать только по имени процесса, то надо указать опцию -f:

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 15 48 03. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 15 48 03. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 15 48 03.

3. pidof

Эта утилита ищет PID конкретного процесса по его имени. Никаких вхождений, имя процесса должно только совпадать с искомым:

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 15 48 28. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 15 48 28. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 15 48 28.

С помощью опции -s можно попросить утилиту выводить только один PID:

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 15 48 38. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 15 48 38. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 15 48 38.

4. pstree

Утилита pstree позволяет посмотреть список дочерних процессов для определённого процесса, также их pid-идентификаторы. Например, посмотрим дерево процессов Apache:

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 15 53 26. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 15 53 26. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 15 53 26.

Как узнать PID скрипта

Когда вы запускаете скрипт в оболочке, например Bash запускается процесс известный как подоболочка и выполняет последовательно все команды скрипта. Чтобы узнать PID процесса подоболочки Bash, запущенной для скрипта, обратитесь к специальной переменной $$. Эта переменная доступна только для чтения, поэтому вы не сможете ее редактировать:

Каким процессом занят файл Linux

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

С помощью утилиты lsof можно посмотреть, какие процессы используют директорию или файл в данный момент. Например, откроем аудио-файл в плеере totem, а затем посмотрим, какой процесс использует её файл:

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 14 45 44. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 14 45 44. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 14 45 44.

как узнать пид процесса linux. otussysadmin. как узнать пид процесса linux фото. как узнать пид процесса linux-otussysadmin. картинка как узнать пид процесса linux. картинка otussysadmin.

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 14 46 21. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 14 46 21. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 14 46 21.

Здесь будет выведен только файл и PID процесса. После PID идёт одна буква, которая указывает, что делает этот процесс с файлом или папкой:

Кто использовал файл в Linux

Узнать процесс, который сейчас занимает файл, достаточно просто. Но как узнать, какой процесс обращается к файлу не надолго, например, выполняет его как программу или читает оттуда данные? Эта задача уже труднее, но вполне решаема с помощью подсистемы ядра auditd. В CentOS набор программ для работы с этой подсистемой поставляется по умолчанию, в Ubuntu же его придётся установить командой:

sudo apt install auditd

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 14 55 51. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 14 55 51. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 14 55 51.

Теперь создаём правило для мониторинга. Например, отследим, кто запускает утилиту who:

Теперь выполним один раз who и посмотрим, что происходит в логе с помощью команды ausearch:

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 15 05 18. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 15 05 18. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 15 05 18.

ps aux | grep 15595

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 15 05 40. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 15 05 40. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 15 05 40.

Становиться понятно, что это bash.

Какой процесс использует порт в Linux

Иногда необходимо узнать PID Linux-программы, которая использует сетевой порт, например 80. Для этого можно использовать утилиту ss:

как узнать пид процесса linux. Snimok ekrana ot 2018 08 28 15 12 30. как узнать пид процесса linux фото. как узнать пид процесса linux-Snimok ekrana ot 2018 08 28 15 12 30. картинка как узнать пид процесса linux. картинка Snimok ekrana ot 2018 08 28 15 12 30.

Мы видим, что это несколько процессов Apache. Использовав опцию dport, можно узнать, какой процесс отправляет данные на указанный порт:

Выводы

В этой статье мы рассмотрели, как узнать PID процесса в Linux по различным условиям: имени или файлу. Как видите, всё достаточно просто, и в считанные минуты можно можно понять, что происходит с вашей операционной системой, и какой процесс за это отвечает.

Источник

Изучаем процессы в Linux. Управление процессами

Обновл. 12 Июл 2021 |

Процесс — это экземпляр запущенной программы. Всякий раз, когда в терминале выполняется какая-нибудь команда (например, команда pwd ), система создает/запускает новый процесс.

Типы процессов

В Linux существует три основных типа процессов:

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

Фоновые процессы (или «автоматические процессы») — это процессы, не подключенные к терминалу; они не ожидают пользовательского ввода данных. Таким образом, другие процессы могут выполняться параллельно с процессом, запущенным в фоновом режиме, поскольку им не нужно ждать его завершения.

Демоны (англ. «daemons») — это особый тип фоновых процессов, которые запускаются при старте системы и продолжают работать в виде службы; они не умирают. Такие процессы запускаются как системные задачи (службы). Однако при этом они могут управляться пользователем через init-процесс (о котором мы поговорим чуть позже). Например, к демонам относится служба электронных сообщений sendmail и sshd — служба, принимающая от клиентов запросы на соединения по протоколу ssh. За исключением процесса init и некоторых других, процессы демонов обычно имеют окончание d в своем имени.

Как Linux идентифицирует процессы?

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

Процессы запущенной программы имеют уникальный пятизначный номер — PID (сокр. от «Process IDentificator»«идентификатор процесса»), а также PPID (сокр. от «Parent Process IDentificator»«идентификатор родительского процесса»). В связи с этим процессы дополнительно разделяют на две группы:

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

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

Прародителем всех процессов в системе является процесс init (от англ. «initialization») — первая программа, которая выполняется при загрузке Linux и управляет всеми другими процессами в системе. init запускается самим ядром и всегда имеет PID = 1, поэтому у него в принципе нет родительского процесса.

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

Состояния процесса в Linux

Когда процесс передает ядру запрос, который не может быть исполнен сразу же, то процесс «погружается в сон/ожидание» и «пробуждается», когда запрос может быть удовлетворен. В связи с этим, в зависимости от текущей ситуации, процесс, во время своего выполнения, может переходить из одного состояния в другое:

как узнать пид процесса linux. 1 2. как узнать пид процесса linux фото. как узнать пид процесса linux-1 2. картинка как узнать пид процесса linux. картинка 1 2.

Рассмотрим основные состояния процесса:

Выполнение — процесс либо запущен (текущий процесс в системе), либо готов к запуску (ожидает передачи на выполнение процессору).

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

прерываемые ожидающие процессы — могут быть прерваны сигналами;

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

Завершен — процесс был остановлен, как правило, путем получения сигнала штатного завершения работы exit().

Зомби — иногда, когда родительский процесс убивается до завершения дочернего процесса, дочерние процессы становятся «осиротевшими», при этом в качестве нового родителя (с соответствующим изменением PPID) им назначается процесс init. Убитые процессы, но при этом все еще отображающиеся в таблице процессов, называются процессами зомби (они мертвы и не используются).

Как получить идентификатор (PID) процесса

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

$ pidof init
$ pidof bash
$ pidof systemd

как узнать пид процесса linux. 2 2. как узнать пид процесса linux фото. как узнать пид процесса linux-2 2. картинка как узнать пид процесса linux. картинка 2 2.

Чтобы вывести PID и PPID текущей оболочки, выполните:

как узнать пид процесса linux. 3 2. как узнать пид процесса linux фото. как узнать пид процесса linux-3 2. картинка как узнать пид процесса linux. картинка 3 2.

Запуск интерактивного процесса в Linux

Как только вы выполните какую-нибудь команду или программу (например, firefox ), она создаст в системе соответствующий процесс. Вы можете запустить процесс переднего плана (он будет подключен к терминалу, ожидая пользовательского ввода) следующим образом:

как узнать пид процесса linux. 4 2. как узнать пид процесса linux фото. как узнать пид процесса linux-4 2. картинка как узнать пид процесса linux. картинка 4 2.

Запуск фонового процесса в Linux

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

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

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

как узнать пид процесса linux. 5 2. как узнать пид процесса linux фото. как узнать пид процесса linux-5 2. картинка как узнать пид процесса linux. картинка 5 2.

$ firefox #После Enter нажмите Ctrl+Z
$ jobs

Чтобы продолжить выполнение вышеупомянутой приостановленной команды в фоновом режиме, используйте команду bg (от англ. «begin»):

Чтобы отправить фоновый процесс на передний план, используйте команду fg (от англ. «foreground») вместе с идентификатором задания следующим образом:

как узнать пид процесса linux. 6 2. как узнать пид процесса linux фото. как узнать пид процесса linux-6 2. картинка как узнать пид процесса linux. картинка 6 2.

Отслеживание активных процессов

Существует несколько различных инструментов для просмотра/перечисления запущенных в системе процессов. Двумя традиционными и хорошо известными из них являются команды ps и top:

Команда ps

Отображает информацию об активных процессах в системе, как показано на следующем скриншоте:

как узнать пид процесса linux. 7 1. как узнать пид процесса linux фото. как узнать пид процесса linux-7 1. картинка как узнать пид процесса linux. картинка 7 1.

как узнать пид процесса linux. 7 1. как узнать пид процесса linux фото. как узнать пид процесса linux-7 1. картинка как узнать пид процесса linux. картинка 7 1.

UID — идентификатор пользователя, которому принадлежит процесс (тот, от чьего имени происходит выполнение).

PID — идентификатор процесса.

PPID — идентификатор родительского процесса.

C — загрузка CPU процессом.

STIME — время начала выполнения процесса.

TTY — тип терминала, связанного с процессом.

TIME — количество процессорного времени, потраченного на выполнение процесса.

CMD — команда, запустившая этот процесс.

как узнать пид процесса linux. image 2021 05 11 14 11 18. как узнать пид процесса linux фото. как узнать пид процесса linux-image 2021 05 11 14 11 18. картинка как узнать пид процесса linux. картинка image 2021 05 11 14 11 18.

Есть и другие опции, которые можно использовать вместе с командой ps :

-a — показывает информацию о процессах по всем пользователям;

-x — показывает информацию о процессах без терминалов;

-u — показывает дополнительную информацию о процессе по заданному UID или имени пользователя;

-e — отображение расширенной информации.

Если вы хотите вывести вообще всю информацию по всем процессам системы, то используйте команду ps –aux :

как узнать пид процесса linux. 7 2. как узнать пид процесса linux фото. как узнать пид процесса linux-7 2. картинка как узнать пид процесса linux. картинка 7 2.

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

как узнать пид процесса linux. 7 2 a. как узнать пид процесса linux фото. как узнать пид процесса linux-7 2 a. картинка как узнать пид процесса linux. картинка 7 2 a.

Если вы ходите выполнить сортировку по потреблению памяти (в порядке убывания), то добавьте к имени интересующего столбца знак минуса:

как узнать пид процесса linux. 7 2 b. как узнать пид процесса linux фото. как узнать пид процесса linux-7 2 b. картинка как узнать пид процесса linux. картинка 7 2 b.

Еще один очень популярный пример использования команды ps — это объединение её и команды grep для поиска заданного процесса по его имени:

как узнать пид процесса linux. 7 2 a1 1. как узнать пид процесса linux фото. как узнать пид процесса linux-7 2 a1 1. картинка как узнать пид процесса linux. картинка 7 2 a1 1.

Команда top

Команда top отображает информацию о запущенных процессах в режиме реального времени:

как узнать пид процесса linux. 7 3. как узнать пид процесса linux фото. как узнать пид процесса linux-7 3. картинка как узнать пид процесса linux. картинка 7 3.

PID — идентификатор процесса.

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

PR — приоритет процесса на уровне ядра.

VIRT — общий объем (в килобайтах) виртуальной памяти (физическая память самого процесса; загруженные с диска файлы библиотек; память, совместно используемая с другими процессами и т.п.), используемой задачей в данный момент.

RES — текущий объем (в килобайтах) физической памяти процесса.

SHR — объем совместно используемой с другими процессами памяти.

S (сокр. от «STATUS») — состояние процесса:

S (сокр. от «Sleeping») — прерываемое ожидание. Процесс ждет наступления события.

I (сокр. от «Idle») — процесс бездействует.

R (сокр. от «Running») — процесс выполняется (или поставлен в очередь на выполнение).

Z (сокр. от «Zombie») — зомби-процесс.

%CPU — процент используемых ресурсов процессора.

%MEM — процент используемой памяти.

TIME+ — количество процессорного времени, потраченного на выполнение процесса.

COMMAND — имя процесса (команды).

Также в сочетании с основными символами состояния процесса (S от «STATUS») вы можете встретить и дополнительные:

— процесс с высоким приоритетом;

N — процесс с низким приоритетом;

l — многопоточный процесс;

Примечание: Все процессы объединены в сессии. Процессы, принадлежащие к одной сессии, определяются общим идентификатором сессии — идентификатором процесса, который создал эту сессию. Лидер сессии — это процесс, идентификатор сессии которого совпадает с его идентификаторами процесса и группы процессов.

Команда glances

Команда glances — это относительно новый инструмент мониторинга системы с расширенными функциями:

как узнать пид процесса linux. 8 1. как узнать пид процесса linux фото. как узнать пид процесса linux-8 1. картинка как узнать пид процесса linux. картинка 8 1.

Примечание: Если в вашей системе отсутствует данная утилита, то установить её можно с помощью следующих команд:

$ sudo apt-get update
$ sudo apt-get install glances

Управление процессами в Linux

Также в Linux присутствуют некоторые команды для управления процессами:

kill — посылает процессу сигнал завершения работы;

pkill — завершает процесс по его имени;

pgrep — ищет процесс по его имени (и, опционально, по имени запустившего его пользователя);

killall — завершает все активные процессы.

Ниже приведены несколько основных примеров их использования:

как узнать пид процесса linux. 9. как узнать пид процесса linux фото. как узнать пид процесса linux-9. картинка как узнать пид процесса linux. картинка 9.

Отправка сигналов процессам

Основополагающим способом управления процессами в Linux является отправка им соответствующих сигналов. Для перечисления списка всех доступных сигналов, введите команду:

как узнать пид процесса linux. 10. как узнать пид процесса linux фото. как узнать пид процесса linux-10. картинка как узнать пид процесса linux. картинка 10.

Большинство сигналов предназначены для внутреннего использования системой или для программистов, когда они пишут код. Ниже приведены наиболее полезные сигналы:

SIGHUP (1) — отправляется процессу, когда его управляющий терминал закрыт.

SIGINT (2) — отправляется процессу управляющим терминалом, когда пользователь прерывает процесс нажатием клавиш Ctrl+C.

SIGQUIT (3) — отправляется процессу, если пользователь посылает сигнал выхода Ctrl+D.

SIGKILL (9) — этот сигнал немедленно завершает (убивает) процесс, и процесс не будет выполнять никаких операций очистки за собой.

SIGTERM (15) — сигнал завершения программы (отправляется командой kill по умолчанию).

SIGTSTP (20) — отправляется процессу управляющим терминалом с запросом на остановку; инициируется пользователем нажатием клавиш Ctrl+Z.

Ниже приведены примеры команды kill для уничтожения приложения firefox с помощью PID, после его зависания:

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

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

Узнать значение приоритета команды можно по выводу команды top (столбец NI):

как узнать пид процесса linux. 11. как узнать пид процесса linux фото. как узнать пид процесса linux-11. картинка как узнать пид процесса linux. картинка 11.

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

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

$ renice +8 5547
$ renice +8 1151

На данный момент это всё! Если у вас есть какие-либо вопросы или дополнительные идеи, вы можете поделиться ими с нами с помощью комментариев.

Поделиться в социальных сетях:

В чем разница между su и sudo в Linux?

Комментариев: 1

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

Добавить комментарий Отменить ответ

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *