Выснова без опцый
PS (process state) - стандартная ўтыліта ўсіх дыстрыбутываў Linux, выкарыстоўваная праз кансоль. Яе асноўнае прызначэнне - адлюстраванне інфармацыі аб усіх запушчаных працэсах. Колькасць і дэталёва што паказваюцца звестак залежыць ад усталяваных опцый, якія выбіраюцца пры непасрэднай актывацыі самай каманды. Пра опцыі мы пагаворым крыху пазней, а цяпер давайце проста ўвядзем ps у «тэрмінале» і націснем на Enter.
Як відаць на скрыншоце ніжэй, адлюстравалася усяго радкі, сярод якіх знаходзіцца абалонка bash і сам працэс разгляданай каманды.
Вядома, тут можа быць яшчэ некалькі пунктаў, што залежыць ад колькасці запушчаных карыстацкіх праграм, аднак у большасці выпадкаў карыстальнікаў такая выснова не задавальняе, таму мы і прапануем перайсці да вывучэння дадатковых опцый.
Выснова спісу ўсіх працэсаў
Ўтыліта PS без ўказанні спецыяльных опцый не дазваляе атрымаць карысную інфармацыю, якая можа спатрэбіцца падчас вывучэння спісу актыўных працэсаў, таму і важна ўжываць аргументы. Першы з іх адказвае за адлюстраванне абсалютна ўсіх бягучых задач, а радок прымае выгляд ps -A.
У выніку адлюструецца велізарная колькасць радкоў, з якімі варта разабрацца. Дзеляцца звесткі на некалькі слупкоў. PID адлюстроўвае ідэнтыфікацыйны нумар працэсу і можа выкарыстоўвацца, напрыклад, для хуткага завяршэння працы гэтай праграмы або праверкі дрэва задач. TTY - імя тэрмінала, дзе запушчаны бягучы працэс. TIME - час працы, а CMD - назва каманды задачы.
Дадаткова можна выкарыстоўваць каманду ps -e, каб адлюстраваць спіс усіх працэсаў, калі папярэдні варыянт вас не задавальняе.
Як бачна, выдача пасля актывацыі опцыі -e атрымалася сапраўды такая ж, як і пры ўводзе аргументу -A.
Існуе фармат вываду BSD, які адказвае за адлюстраванне звязаных з карыстальнікамі працэсаў, а таксама адлюстроўвае больш дэталёвыя звесткі аб працы задач, нагрузцы іх на працэсар і дакладнае размяшчэнне. Для атрымання такіх звестак варта выкарыстоўваць ps au.
На паказаным ніжэй малюнку вы бачыце, што колькасць слупкоў значна дадалося. У выніку да азнаямлення будзе даступны поўны спіс працэсаў з прывязкай да ўліковага запісу і адлюстраваннем месца размяшчэння.
поўнафарматны лістынг
Разгледжаныя вышэй прыклады дазвалялі адлюстраваць практычна ўсе неабходныя звесткі, якія могуць быць карысныя пачаткоўцам карыстачам. Аднак часам патрабуецца атрымаць больш дэталёвы лістынг, напрыклад, каб вызначыць крыніцу выкліку працэсу. Тады на дапамогу прыйдзе радок такога выгляду: ps -ef.
Адлюструюцца практычна тыя ж слупкі, пра якія мы ўжо казалі раней, але дадаткова з'явіцца дэталёвая разгортка аб размяшчэнні і першы ж пункт будзе адказваць за крыніца выкліку задачы.
Адлюстраванне карыстацкіх працэсаў
Опцыя -x адказвае за адлюстраванне працэсаў, якія былі адлучаны ад тэрмінала, то ёсць запушчаныя асабіста карыстальнікам. Калі вы хочаце даведацца, якія менавіта задачы былі адкрыты ад імя бягучай ўліковага запісу, у кансолі дастаткова будзе ўвесці радок ps -x і націснуць на Enter.
Выснова будзе максімальна інфарматыўны, але без дадатковых звестак. Аднак нічога не перашкодзіць задзейнічаць і дадатковыя опцыі, напрыклад, -eM для паказу кантэксту бяспекі.
Калі ж патрабуецца атрымаць інфармацыю пра дадзеныя іншага карыстальніка, змяніўшы радок на ps -fU lumpics, дзе lumpics заменіце на неабходнае імя.
У выніках вываду звярніце ўвагу на першы слупок. Вы не знойдзеце там іншых уладальнікаў акрамя названага ў камандзе да яе актывацыі.
Фільтр па root
У кожным сеансе Linux маецца асобны спіс задач, якія выконваюцца з правамі root. Калі патрабуецца адлюстраваць толькі такія працэсы, варта задаць каманду ps -U root -u root і актываваць яе націскам на клавішу Enter.
Пры выкарыстанні каманды ў дакладнасці паўтаралай тую, што вышэй, выснова не будзе ўтрымліваць радкі з крыніцай запуску, паколькі загадзя вядома, што гэта root, а ўсе звесткі паказваюцца ў максімальна сціснутым карыстацкім выглядзе. Тут мы прапануем задзейнічаць згаданыя вышэй аргументы, каб пашырыць інфармацыю.
Адлюстраванне групавых задач
Вопытныя карыстальнікі ведаюць, што некаторыя працэсы належаць да канкрэтнай групе, то ёсць маецца галоўная задача і яе залежнасці, якія фармуюць агульнае дрэва. Пры неабходнасці адлюстравання толькі радкоў, якія трапляюць пад дадзены крытэрый, задзейнічайце каманду ps -fG 48, дзе 48 - ідэнтыфікатар групы (яго можна замяніць на назву бацькоўскага працэсу).
Адлюстраванне па PID
З прыведзеных вышэй звестак вы ўжо ведаеце, што кожны працэс мае свой PID, то ёсць які вызначае яго ідэнтыфікатар. Калі маецца жаданне выканаць пошук па канкрэтных PID, варта задзейнічаць каманду ps -fp 1178, замяніўшы лік на патрабаванае. Маецца і крытэрый PPID. Пры вызначэнні такога фармату радок набывае выгляд ps -f --ppid 1154, з адпаведным змяненнем ідэнтыфікатара на патрэбны.
Гэта былі ўсе асноўныя прыклады каманды PS ў Linux, пра якія мы хацелі пагаварыць у рамках сённяшняга артыкула. На жаль, аб'ёму аднаго кіраўніцтва не хопіць для таго, каб дэталёва апісаць ўзаемадзеянне з усімі даступнымі опцыямі і іх камбінацыямі. Замест гэтага мы прапануем вывучыць афіцыйную дакументацыю каманды, выканаўшы ps --help, каб атрымаць тыя падказкі, якія вы не знайшлі вышэй. Дадаткова на нашым сайце маюцца разгорнутыя апісанні асноўных каманд разгледжанай аперацыйнай сістэмы. Рэкамендуем пачаткоўцам карыстачам вывучыць іх, каб хутчэй асвоіцца ў кіраванні кансоллю Лінукс.
Чытайце таксама:
Часта выкарыстоўваюцца каманды ў «тэрмінале» Linux
Каманда ln / find / ls / grep / PWD ў Linux