распространенной задачей администрирования является проверка того,
запущен ли конкретный процесс
и каковы его свойства. Существует ряд комментариев, которые вы можете использовать для поиска информации о запущенных процессах.
Наиболее часто используемыми являются bs pgrep ps3 и top. пользователь не только root может видеть информацию
о запущенных процессах, давайте начнем с первой команды ps, которая обозначает статус процесса,
я запускаю команду ps без какой-либо опции, она отображает процессы, запущенные в
текущем терминале, и есть только две базовые оболочки и ps команда, которую я только что запустил,
отображаемая информация состоит из четырех столбцов pid tty time и cmd, давайте возьмем их один за другим
pid - это идентификатор процесса, положительное целое число, которое автоматически назначается и используется
ядром для уникальной идентификации каждого процесса в этом вероятно, самая важная информация при
поиске процесса, потому что она позволяет вам взаимодействовать с процессом tty представляет собой
имя управляющего терминала поскольку время процесса - это совокупное время процессора процесса,
показанное в минутах и ​​секундах, а cmd - имя команды, которая использовалась для запуска процесса,
этот вывод не очень полезен, потому что он не содержит слишком много информации, возможно, вы хотите просмотреть
все запущенные процессы ps - очень сложный инструмент с отсутствием параметров,
наиболее часто используемые параметры: минус c, чтобы перечислить все процессы, и минус f,
чтобы создать полный формат списка и отобразить подробную информацию о запущенных процессах,
поэтому ps минус e он отображает все процессы, которые запускают nps минус f полная информация о состоянии,
он отображает подробную информацию о процессах nps минус ef он также очень распространен, он
отображает все процессы с подробной информацией, давайте посмотрим, сколько процессов запущено,
и в моей системе их 181 процессы, которые работают, я перенаправлю вывод ps минус ef
в less, давайте внимательнее посмотрим на вывод, который столбец user указывает пользователя, который запускает
процедуру ss pid - это идентификатор процесса, а ppid - идентификатор родительского процесса, идентификатор родительского процесса, поскольку time
указывает время запуска, которое является временем, когда процесс был запущен,
если вы видите знак вопроса в столбце tty, это означает, что процесс не
имеет терминал, для которого это текст, это, вероятно, системная служба или демон
демоны - это процессы, которые работают в фоновом режиме
и не являются интерактивными, у них нет управляющего терминала в Linux, имена демонов и в
разговорной речи, когда кто-то произносит слово демон вы подумайте о серверном приложении, которое предоставляет
услугу, некоторые хорошо известные требования - это sshd, который является демоном сервера openssh httpd, который является
верхним именем демона веб-сервера d, который является демоном сервера DNS или mysqld, который является демоном сервера базы данных,
еще одна часто используемая комбинация of options - это ux ox, вы можете запустить команду ps в форме bsd
без тире перед параметрами или в форме unix с тире перед параметрами, поэтому ps dash au
x или psaux без тире без mi знак nus давайте направим вывод в меньшее количество
дополнительных столбцов, которые вы видите, имеют следующие значения: процент cpu
- это загрузка процессора процессом, выраженная в процентах, mem - объем памяти, который использует
процесс, это соотношение размера резидентного набора процесса к физической памяти на
машине, выраженной в процентах vsz - это размер виртуальной памяти процесса в килобайтах,
он включает всю память, к которой процесс может получить доступ, включая память, которая выгружается,
память, которая выделена, но не используется, и память то есть из разделяемых библиотек
rss - это размер физической памяти, которую использует процесс; он указывает, сколько памяти
выделено каждому процессу; он не включает память, которая выгружается,
но включает память из разделяемых библиотек, если они есть фактически в памяти
он включает всю стековую и кучную память, а stat указывает состояние процесса с использованием кода
возможные отображаемые значения: s для сна r для запуска z f или zombie t для остановленного и i
для незанятого потока ядра меньше знака означает высокий приоритет, а верхний регистр n означает низкий приоритет,
это текущий процесс,
позвольте мне рассказать вам несколько слов о запущенном процессе, на котором ядро ​​процессора может запускать один процесс
конкретный момент, если у вас есть процессор с четырьмя ядрами, тогда не более четырех процессов могут работать
одновременно, на самом деле это только кажется, что операционная система выполняет задания
одновременно, на самом деле она запускает только один процесс на каждое ядро ​​за раз, но быстро переключается
между все свои текущие задачи или процессы ядро ​​linux выполнит некоторые инструкции
из процесса a, а затем отложит процесс a и выполнит инструкции из процесса b.
концепция переключения между процессами в очереди называется планированием процессов, команда ps
также позволяет вам сортировать вывод с использованием опции сортировки минус минус, например, чтобы отсортировать
вывод по использованию памяти, вы должны использовать ps a ux минус минус сортировка равна проценту mem опубликовать
его сорти ng в возрастающем порядке, и если вы хотите отсортировать вывод в порядке убывания,
добавьте дефис перед процентом, он в порядке возрастания, и теперь я буду отсортировать их в порядке убывания,
например, оболочка gnome потребляет эльфийский процент памяти,
давайте посмотрим на некоторые другие полезные параметры, если вы хотите видеть только процессы конкретного пользователя,
используйте параметр минус u, параметр ps минус f, минус ваш ученик
или минус ваш root, я вижу все процессы ладьи
, очень часто вывод команды ps фильтруется с помощью grep для Например, вы хотите проверить,
запущен ли конкретный процесс, особенно демон, или нет, давайте посмотрим, работает ли sshd ps минус ef
pipe grep sshd и он работает, вы можете получить другой результат в зависимости от вашего конкретного случая,
теперь я покажу вам кое-что важное,
давайте предположим, вы хотите проверить, если процесс называется XYZ123
работает, конечно, это не, но давайте проверить его в любом случае, используя пс и сцепление,
даже если нет такой процесс не выполняется команда Grep найдена и возвращена строка из вывода
ps здесь происходит то, что при выполнении команд с использованием канала были созданы
два процесса ps и grep, один из них - grep, и он отображается в списке процессов как комментарий, который
был выполнен, так как grep xyz one two three, поэтому на самом деле grep имеет выбрал себя из списка процессов,
поэтому при поиске процесса таким образом, если процесс запущен, вы фактически получите по крайней мере
две строки, одна из которых будет командой grep, которая выбирает себя, потому что эта конструкция
ps pipe grep очень распространена, там другая команда под названием pgap, которая поступает из ps grep и
ищет процесс, используя свое имя, давайте посмотрим, работает ли sshd pigrep sshd или pgrep python3,
поэтому pigrep просматривает текущие запущенные процессы
и перечисляет идентификаторы процессов, которые соответствуют критериям выбора, чтобы остаться в
терминал, если вы хотите видеть как идентификаторы процессов, так и имена, добавьте параметр минус l,
например, это pid, идентификатор процесса и имя процесса,
обратите внимание, что он не ищет полный Имя процесса, который он ищет, а также частичные имена,
вы также можете искать процессы, принадлежащие конкретному пользователю, pigrep минус eurot sshd,
я ищу процессы с именем sshd, которые принадлежат пользователю root, поэтому до сих пор мы видели,
что ps является сложный комментарий с множеством опций, и в большинстве случаев он удовлетворяет нашим требованиям,
однако вы должны знать, что есть еще одна команда под названием ps3,
которая отображает иерархическую древовидную структуру всех запущенных процессов. Я передам ее вывод в less,
потому что он не подходит для экран ps3 pipe less ps3 объединяет идентичные ветви, помещая их в квадратные скобки и ставя
перед ними целое число, представляющее количество ветвей.
Это делает вывод более читабельным и визуально привлекательным,
чтобы отключить слияние идентичных ветвей, используйте параметр минус c
ps3 минус c,
угрозы процесса обнаруживаются в родительском процессе
и отображаются с именем процесса в фигурных скобках,
эта команда также имеет множество параметров,
и если вы Вам интересно, вы можете взглянуть на страницу xman