Мониторинг

Как да използвам командата ps за намиране на работещи процеси в Linux

Как да използвам командата ps за намиране на работещи процеси в Linux
Пълната форма на пс е състояние на процеса. Това е команда, използвана за намиране на информация за текущо изпълнявани процеси в Linux. ps е много важна команда на Linux.В тази статия ще ви покажа как да използвате командата ps за намиране на работещи процеси в Linux. И така, нека започнем.

Различни видове опции:

Командата ps приема различни опции.

  1. Опции за UNIX - имат водещо тире. $ ps -e
  1. BSD опции - нямат водещо тире. $ ps aux
  1. Опции за GNU - имат двойно водещо тире. $ ps --pid 1001

В този пример ще използвам UNIX и понякога GNU опции. Но опциите за BSD са подобни. През повечето време можете да ги смесвате заедно без никакви проблеми. Въпреки това, не можете да смесите някои от опциите заедно, тъй като няма да работи. Така че внимавай.

Намиране на всички работещи процеси:

С командата ps можете да намерите всички работещи процеси на вашата машина.

За да намерите всички работещи процеси с ps, използвайте ps, както следва,

$ ps -ef

Както можете да видите, UID (User ID), PID (идентификатор на процеса), PPID (идентификатор на родителски процес), CMD (команда, използвана за стартиране на процеса) и някои други данни за всички работещи процеси се показват.

Можете да изброите всички работещи процеси с различни пс комбинация от опции. Те ще показват различна информация за протичащите процеси. Всъщност можете да кажете пс за показване на конкретна информация, до която ще стигнем в следващия раздел.

$ ps -e

Както виждаш, ps -e показва PID, TTY (номер на терминала), ВРЕМЕ (време за изпълнение на процеса) и CMD на работещите процеси. Това е много по-малко информация от преди.

$ ps -ef

Той показва много информация за работещите процеси, но някои от колоните като ° С (използване на процесора), SZ (размер във физически страници), RSS (размер на резидентния комплект), PSR (процесор, на който процесът е присвоен в момента), STIME (времето, когато процесът е стартирал) и т.н. не се показват. Така че е малко по-компактен от ps -eF.

Друг вариант на пс,

$ ps -ely

Това ви показва UID (потребителско име), PRI (текущ приоритет на процеса), НИ (хубава стойност) също. Така че, наистина е удобно.

Улесняване на навигацията на ps:

Типична Linux система има много процеси, работещи във фонов режим. И така, изходът на пс командата е много дълга. Там е по-трудно да се намери полезна информация. Но можем да използваме пейджър като по-малко за да търсите процесите малко по-лесно.

Можете да използвате по-малко пейджър, както следва:

$ ps -ef | по-малко

Резултатът от пс ще се отвори с по-малко.

Сега можете да използвате и клавиши със стрелки за много лесно навигиране в списъка.

Можете също да търсите конкретни ключови думи тук. Това е наистина полезно за намиране на процесите, които търсите.

Да търсим процеси, да речем acpi, въведете ключовата дума, както следва в по-малко пейджър.

/ acpi

Сега натиснете .

Както можете да видите, процесът с ключовата дума acpi е подчертано.

Можете също да натиснете н и стр бутони, за да преминете съответно към следващия и предишния мач (ако има такъв).

Както виждате, натиснах н до и следващия процес с ключовата дума acpi е подчертано.

За да излезете от пейджъра, натиснете q.

Изберете ръчно колони за показване в ps:

The ps -e / ps -ef / ps -eF etc показва някои колони по подразбиране. Но ако искате, можете да кажете на ps да ви показва конкретни колони или да добавите допълнителни колони към набора от колони по подразбиране.

Например, да кажем, че искате да видите само % MEM (процент използване на паметта), PID (идентификатор на процеса) и UID (идентификатор на собственика на процеса) и КОМАНД (команда за процес), след това изпълнете ps, както следва:

$ ps -e -o% mem, pid, uid, comm

Както можете да видите, ps показваше само информацията, за която съм го поискал. Нищо повече, нито по-малко.

Използваните тук ключови думи за колони са% mem (за% MEM), pid (за PID), uid (за UID), comm (за COMMAND). ps поддържа много ключови думи. Можете да намерите целия списък в ръководството на ps.

Просто отворете ръководството на ps със следната команда и отидете до СПЕЦИФИКАТОРИ ЗА СТАНДАРТЕН ФОРМАТ раздел, както е показано на екранната снимка по-долу.

$ man ps

Ако искате да покажете допълнителни колони заедно с набора от колони по подразбиране, тогава можете да използвате опция, за да посочите колоните, които искате да видите.

Например,

$ ps -ef -O% процесор

Както виждате, добавих %ПРОЦЕСОР и % MEM колона заедно с колоните по подразбиране на ps -ef команда.

Изход за сортиране на командата ps:

Можете също така да сортирате изхода на ps според всяка конкретна колона или колони. Можете да сортирате изхода на ps във възходящ или низходящ ред в зависимост от вашите изисквания.

За да сортирате изхода на ps, използвайки която и да е отделна колона, можете да използвате ps, както следва:

$ ps -ef --sort = (+ | -) колона_код

Някой пример ще го направи по-ясен.

Да кажем, че искате да сортирате процесите в зависимост от това колко дълго процесът работи във възходящ ред. Можете да стартирате ps, както следва:

$ ps -ef --sort = + време

Или

$ ps -ef --sort = време

ЗАБЕЛЕЖКА: По подразбиране е сортиране във възходящ ред. Така че можете да пропуснете + подпишете, ако искате.

Както можете да видите, изходът се сортира във възходящ ред от ВРЕМЕ колона.

Отново, да кажем, че искате да сортирате процесите в зависимост от това колко дълго процесът се изпълнява в низходящ ред. Тогава командата ps ще бъде:

$ ps -ef --sort = -time

Както можете да видите, процесите, които се изпълняват най-дълго, са изброени първо.

Ако искате да сортирате по няколко колони, просто добавете колоните, както следва:

$ ps -ef --sort = време, -% mem,% cpu

Къде да продължим?

Покрих основите на командата ps. Сега бихте могли да научите повече за командата ps от ръководството на ps.

Можете да получите достъп до ръководството на ps, както следва,

$ man ps

Например можете да намерите конкретен процес, ако знаете, че е PID, като използвате ps, както следва:

$ ps -O% mem,% cpu -p 2060

ЗАБЕЛЕЖКА: Тук, 2060 е PID на процеса.

Можете също така да търсите процеси, притежавани от конкретен потребител или група и т.н.

Например, за да намерите всички работещи процеси на вашия потребител за вход, изпълнете ps, както следва:

$ ps -O потребител,% mem,% cpu -U $ (whoami)

ЗАБЕЛЕЖКА: Можете да замените $ (whoami) с всяко потребителско име, което искате да изброите процеси, работещи като този потребител.

И така, вие използвате командата ps, за да намерите работещи процеси в Linux. Благодаря, че прочетохте тази статия.

Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...
Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...