Како користити команду пс за надгледање Линук процеса

Направите снимак процеса који се покрећу на вашем Линук рачунару помоћу команде пс. Лоцирајте процесе по имену, кориснику или чак терминалу са онолико детаља колико вам је потребно. Показаћемо вам како.

Управљање процесима на Линук-у

Срце свих Линук и Уник оперативних система је језгро. Међу његовим бројним одговорностима је алокација системских ресурса као што су РАМ и ЦПУ време. Они морају да се усклађују у реалном времену тако да сви покренути процеси добију свој прави део, у складу са приоритетом сваког задатка.

Понекад се задаци могу закључати, или ући у уску петљу, или престати да реагују из других разлога. Или могу да наставе да раде, али прогутају превише ЦПУ времена или РАМ-а, или се понашају на неки подједнако антидруштвени начин. Понекад задатке треба убити као милост свима који су укључени. Први корак. Наравно, то је да се идентификује процес у питању.

Али можда уопште немате проблема са задатком или перформансама. Можда сте само радознали који се процеси покрећу унутар вашег рачунара и желели бисте да завирите испод хаубе. Команда пс задовољава обе ове потребе. То вам даје снимак онога што се дешава унутар вашег рачунара „одмах.“

пс је довољно флексибилан да вам пружи прецизне информације које су вам потребне у формату који желите. У ствари, пс има много опција. Опције описане овде ће задовољити већину уобичајених потреба. Ако треба да уђете дубље у пс него што смо то узели у овом чланку, видећете да наш увод чини ман страницу лакшом за варење.

Процеси листинга

Најлакши начин да користите пс је да га покренете без параметара:

ps

пс приказује листу процеса које је покренуо корисник који је покренуо команду.

Четири колоне су:

ПИД: ИД број процеса.
ТТИ: Име конзоле на којој је корисник пријављен.
ВРЕМЕ: Количина времена обраде процесора које је процес користио.
ЦМД: Име команде која је покренула процес

Процес листинга за све кориснике

додавањем -е (одабери све процесе) можемо да наведемо пс да наведе процесе које су покренули сви корисници, а не само корисник који покреће команду пс. Пошто ће ово бити дугачак списак, стављамо га на мање.

ps -e | less

Листа процеса се преноси у мање.

  Како пренети инсталацију Линук-а на други чврсти диск

Имамо много више уноса на листи, али видимо исте четири колоне као и раније. Уноси са знаком питања? у ТТИ колони нису покренути из прозора терминала.

Приказ хијерархије процеса

Понекад може помоћи да се открије проблем или идентификује одређени процес ако можете да видите који процеси су покренули друге процесе. За то користимо опцију -Х (хијерархија).

ps -eH | less

Увлачење означава који процеси су родитељи којим другим процесима.

Да бисмо додали мало више јасноће, можемо замолити пс-а да дода нешто АСЦИИ линије и да исцртају хијерархију као дрво. Опција да се то уради је опција –шума.

ps -eH --forest | less

Ово олакшава праћење који су процеси родитељи других процеса.

Навођење процеса по имену

Можете пренети излаз од пс преко греп до уноса на листи који имају имена која одговарају термину за претрагу. Овде тражимо уносе који одговарају термину за претрагу „фирефок“:

ps -e | grep firefox

У овом случају, излаз је један унос за процес који нас занима. Наравно, да смо покренули неколико инстанци Фирефок-а, на листи би било враћено више од једне ставке.

Приказивање више колона у излазу

Да додате још колона у излаз, користите опцију -ф (пун формат).

ps -ef | less

Додатни скуп колона је укључен у излаз из пс.

Колоне су:

УИД: кориснички ИД власника овог процеса.
ПИД: ИД процеса процеса.
ППИД: ИД надређеног процеса процеса.
Ц: Број деце коју процес има.
ВРЕМЕ: Време почетка. Време када је процес започео.
ТТИ: Име конзоле на којој је корисник пријављен.
ВРЕМЕ: Количина времена обраде процесора које је процес користио.
ЦМД: Име команде која је покренула процес.

Коришћењем опције -Ф (екстра пуног формата) можемо добити још више колона:

ps -eF | less

Колоне које добијамо овог пута захтевају да се екран помера у страну да би се све откриле.

Притиском на тастер „стрелица удесно“ екран се помера улево.

Колоне које сада добијамо су:

УИД: кориснички ИД власника овог процеса.
ПИД: ИД процеса процеса.
ППИД: ИД надређеног процеса процеса.
Ц: Број деце коју процес има.
СЗ: Величина у РАМ страницама слике процеса.
РСС: Стална величина скупа. Ово је незаменљива физичка меморија коју користи процес.
ПСР: Процесор коме је процес додељен.
ВРЕМЕ: Време почетка. Време када је процес започео.
ТТИ: Име конзоле на којој је корисник пријављен.
ВРЕМЕ: Количина времена обраде процесора које је процес користио.
ЦМД: Име команде која је покренула процес.

Навођење процеса према ИД-у процеса

Када пронађете ИД процеса за процес који вас занима, можете га користити са командом пс да бисте навели детаље тог процеса. Користите опцију -п (одаберите према ИД-у процеса) да бисте ово постигли:

ps -p 3403

Наведени су детаљи за овај процес:

  Како уклонити сувишне податке на Линук-у помоћу Фдупе-а

Нисте ограничени на један ИД процеса. Можете дати листу ИД-ова процеса, раздвојених размацима.

Навођење процеса по команди

Опција -Ц (команда) вам омогућава да тражите процес користећи име команде. То јест, назив команде која је покренула процес. Ово се суптилно разликује од командне линије, која може укључивати имена путања и параметре или опције.

ps -C shutter

Наведени су детаљи за процес затварача.

Навођење процеса у власништву корисника

Да бисте видели процесе који су у власништву одређеног корисника, користите опцију -у (листа корисника):

ps -u mary

Приказани су процеси у власништву корисничког налога мари.

Листинг процеса по терминалу

Да бисте видели процесе повезане са ТТИ-ом, користите опцију -т (одаберите ТТИ). Ако се користи без ТТИ броја, опција -т извештава о процесима повезаним са тренутним прозором терминала.

tty
ps -t

Команда тти извештава да је ово псеудо-телетип 0. Сви процеси наведени са пс -т су повезани са ТТИ птс/0.

Ако проследимо ТТИ број на командној линији, требало би да добијемо извештај о процесима повезаним са тим ТТИ.

ps -t 1

Овај пут су сви процеси повезани са ТТИ птс/1.

Одабир колона за приказ

Са опцијом -о (формат) можете изабрати које колоне желите да укључите у излаз из пс. Колоне наводите по имену. (Дугачка) листа назива колона се може видети на ман страница у одељку под називом „Стандардни спецификацији формата“. У овом примеру, бирамо да ЦПУ време (пцпу) и командна линија са аргументима (аргс) буду укључени у излаз.

ps -e -o pcpu,args | less

Излаз укључује само наше две тражене колоне.

Сортирање излаза по колонама

Можете сортирати излаз за вас помоћу опције –сорт. Хајде да сортирамо излаз према ЦПУ колони:

ps -e -o pcpu,args --sort -pcpu| less

Цртица „-“ на пцпу параметру сортирања даје опадајући редослед сортирања.

Да бисте видели десет ЦПУ најинтензивнијих процеса, проведите излаз кроз главу команда:

ps -e -o pcpu,args --sort -pcpu | head -10

Добијамо сортирану, скраћену листу.

Ако додамо више колона нашем приказу, можемо сортирати по више колона. Хајде да додамо пмем колону. Ово је проценат меморије рачунара који се користи у процесу. Без цртице или са плусом ” +“, редослед сортирања је растући.

ps -e -o pcpu,pmem,args --sort -pcpu,pmem | head -10

Добијамо нашу додатну колону, а нова колона је укључена у сортирање. Прва колона је сортирана пре друге колоне, а друга колона је сортирана узлазним редоследом јер нисмо ставили цртицу на пмем.

  Како поставити статичку ИП адресу на Линук-у у Нетворк Манагер-у

Хајде да га учинимо мало кориснијим и додајмо колону ИД процеса (пид) тако да можемо да видимо број процеса сваког процеса у нашој листи.

ps -e -o pid,pcpu,pmem,args --sort -pcpu,pmem | head -10

Сада можемо идентификовати процесе.

Убијање процеса према ИД-у процеса

Покрили смо низ начина за идентификацију процеса, укључујући име, команду, корисника и терминал. Такође смо покрили начине за идентификацију процеса по њиховим динамичким атрибутима, као што су употреба ЦПУ-а и меморија.

Дакле, на овај или онај начин, можемо идентификовати процесе који се покрећу. Познавајући њихов ИД процеса, можемо (ако треба) да убијемо било који од тих процеса користећи команду килл. Ако желимо да убијемо процес 898, користили бисмо овај формат:

sudo kill 898

Ако све прође како треба, процес се тихо прекида.

Процеси убијања по имену

Команда пкилл вам омогућава да убити процесе по имену. Уверите се да сте идентификовали тачан процес! Ова команда ће прекинути горњи процес.

sudo pkill top

Опет, никаква вест није добра вест. Процес се тихо прекида.

Убијање више процеса по имену

Ако имате покренуто више копија процеса или је процес покренуо низ подређених процеса (као што то може да уради Гоогле Цхроме), како можете да их убијете? То је исто тако лако. Користимо команду киллалл.

Имамо две копије најбољих:

ps -e | grep top

Можемо прекинути обојица овом командом:

sudo killall top

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

Добијте динамички приказ са врхом

Излаз из пс-а је приказ снимка. Не ажурира се. Да бисте добили ажурирани приказ процеса, користите команду топ. Он пружа а динамички приказ процеса који се покрећу на вашем рачунару. Дисплеј је из два дела. На врху екрана се налази област контролне табле сачињена од редова текста, а табела у доњем делу екрана састављена од колона.

Почните одозго са овом командом:

top

Колоне садрже информације о процесима:

ПИД: ИД процеса
КОРИСНИК: Име власника процеса
ПР: Приоритет процеса
НИ: Лепа вредност процеса
ВИРТ: Виртуелна меморија коју користи процес
РЕС: Стална меморија коју користи процес
СХР: Заједничка меморија коју користи процес
С: Статус процеса. Погледајте доњу листу вредности које ово поље може да има
%ЦПУ: удео ЦПУ времена које процес користи од последњег ажурирања
%МЕМ: удео коришћене физичке меморије
ВРЕМЕ+: укупно ЦПУ време које задатак користи у стотим деловима секунде
КОМАНДА: име команде или командна линија (назив и параметри командне линије) Ако се колона команде не види, притисните тастер „стрелица надесно“.

Статус процеса може бити један од:

Д: Непрекидан сан
Р: Трчање
С: Спавање
Т: Трасирано (заустављено)
З: Зомби

Притисните тастер „К“ да изађете одозго.

Пре него што убијете процес

Уверите се да је то онај који тражите и проверите да ли вам неће правити проблеме. Конкретно, вреди проверити са опцијама -Х (хијерархија) и –форест да бисте били сигурни да нема важних подређених процеса на које сте заборавили.