Примерни приложения на командата Linux ps

Въведение

Командата ps създава списък с текущите процеси на компютъра ви.

Това ръководство ще ви покаже по-честото използване на командата ps, за да можете да извлечете максимума от него.

Командата ps обикновено се използва заедно с командата grep и повече или по-малко команди.

Тези допълнителни команди помагат за филтриране и страници на изхода от ps, който често може да бъде доста дълъг.

Как да използвате командата ps

Сам по себе си командата ps показва работещите процеси от потребителя, който го изпълнява в рамките на терминален прозорец.

За да извикате ps просто въведете следното:

к.с.

Резултатът ще покаже редове от данни, съдържащи следната информация:

PID е идентификационният номер на процеса, който идентифицира текущия процес. TTY е типа терминал.

Сам по себе си командата ps е доста ограничена. Вероятно искате да видите всички текущи процеси.

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

ps -A

ps -e

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

ps -d

И така, какво е лидер на сесията? Когато един процес стартира други процеси, той е ръководител на сесията на всички други процеси. Така че представете си процес А, който започва процес Б и процес В. Процесът Б започва процес D и процес C започва процес Е. Когато изброявате всички процеси освен лидерите на сесии, ще видите B, C, D и E, но не и A.

Можете да отмените избраните от вас селекции, като използвате превключвателя -N. Например, ако искате да видите само ръководителите на сесии, изпълнете следната команда:

ps -d-N

Очевидно е, че N не е много разумно, когато се използва с превключватели -e или -A, тъй като изобщо няма да се покаже.

Ако искате да видите само процесите, свързани с този терминал, изпълнете следната команда:

PS T

Ако искате да видите всички изпълнявани процеси, използвайте следната команда:

ps r

Избиране на конкретни процеси с помощта на командата ps

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

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

ps -p

Можете да изберете няколко процеси, като посочите няколко идентификатора на процеса, както следва:

ps -p "1234 9778"

Можете да ги посочите и с помощта на списък, разделен със запетая:

ps -p 1234,9778

Шансовете са, че няма да знаете ID на процеса и е по-лесно да търсите с команда. За тази цел използвайте следната команда:

ps-C <команда>

Например, за да видите дали Chrome работи, можете да използвате следната команда:

ps-хром

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

Други начини за филтриране на резултатите са по групи. Можете да търсите по име на групата, като използвате следния синтаксис:

ps -G <име на групата>
ps - Груп <име на групата>

Например, за да разберете всички процеси, които се изпълняват от групата сметки, въведете следното:

ps -G "сметки"
ps - Групи "сметки"

Можете също така да търсите по id на групата вместо име на групата, като използвате малка буква g, както следва:

ps -g
ps - група

Ако искате да търсите по списък от идентификатори на сесии, използвайте следната команда:

ps -s

Като алтернатива използвайте следното, за да търсите по тип терминал.

ps -t

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

ps U <списък с потребители

Например, за да намерите всички процеси, изпълнявани от Гари, изпълнете следното:

ps U "gary"

Обърнете внимание, че това показва лицето, чиито идентификационни номера се използват за изпълнение на командата. Например, ако съм влязъл като gary и изпълнявам горната команда, ще покажа цялата команда, управлявана от мен.

Ако вляза като Том и използвам sudo, за да изпълня команда като мен, тогава горната команда ще покаже командата на Том като управлявана от Гари, а не от Том.

За да ограничите списъка само до процесите, които наистина се управляват от Гари, използвайте следната команда:

ps -U "gary"

Форматиране на ps Command Output

По подразбиране получавате същите 4 колони, когато използвате командата ps:

Можете да получите пълна обява, като изпълните следната команда:

ps-еф

Знакът -e, както знаете, показва всички процеси и f или -f показва пълни подробности.

Получените колони са както следва:

Потребителският идентификатор е човекът, който изпълнява командата. PID е процесът ID на командата на командата. PPID е родителският процес, който стартира командата.

Графата "С" показва броя на децата, които има процес. Стеймът е началното време за процеса. TTY е терминалът, времето е времето, необходимо за изпълнение и командата е изпълнена команда.

Можете да получите дори още колони, като използвате следната команда:

ps -eF

Това връща следните колони:

Допълнителните колони са SZ, RSS и PSR. SZ е размерът на процеса, RSS е истинският размер на паметта и PSR е процесорът, на който е присвоена командата.

Можете да зададете потребителски дефиниран формат, като използвате следния ключ:

ps -e - формат <формат>

Предлаганите формати са както следва:

Има много повече опции, но това са най-често използваните.

За да използвате форматите, въведете следното:

ps -e - формат = "uid uname cmd време"

Можете да смесвате и да съответствате на елементите, както желаете.

Сортиране на изхода

За да сортирате изхода, използвайте следното означение:

ps -ef --sort

Изборът на опции за сортиране е, както следва:

Отново съществуват повече опции, но това са най-често срещаните.

Примерна команда за сортиране е както следва:

ps - ес - потребител потребител, пид

Използване на ps С grep, все повече и повече команди

Както бе споменато в началото, често се използва ps с grep, все по-малко команди.

По-малкото и повече команди ще ви помогнат да пресетите резултатите една след друга. За да използвате тези команди, просто препратете изхода от grep към тях, както следва:

ps-ее | Повече ▼
ps-ее | по-малко

Командата grep ви помага да филтрирате резултатите от командата ps.

Например:

ps-ее | grep chrome

резюме

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

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

За да научите повече, прочетете страниците на Linux man за командата ps.