Различни видове опции:
Командата ps приема различни опции.
- Опции за UNIX - имат водещо тире. $ ps -e
- BSD опции - нямат водещо тире. $ ps aux
- Опции за 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. Благодаря, че прочетохте тази статия.