А-З команде

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

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

Вишепроцесорски оперативни системи попут Линука и БСД-а користе неколико метода за максимално искоришћење ЦПУ-а. Процес је једноставно програм у извршењу. Будући да ће се у датом тренутку изводити више од једног Линук процеса, управљање процесима у Линуку је изузетно важно. Корисници се често суочавају са проблемима попут смањења ЦПУ ресурса када покрећу превише програма. Ситуације попут ове настају када ЦПУ не успијева да обрађује све већи број процеса. Иако ово не зависи у потпуности од снаге вашег процесора, суочавање са окаченим или зомби процесима може бити прилично фрустрирајуће. Да бисмо вам помогли да ублажите такве појаве, изнели смо неке стандардне начине убијања ових процеса.

Овладајте управљањем неодговарајућим процесима у Линуку


Научићете неколико начина да прекинете Линук процес који уопште не реагује. Ако долазите из Виндовс-а, можда су вам познати Цтрл + Алт + Делете. Слично томе, корисници Мац-а имају Цомманд + Оптион + Есцапе методу убијања замрзнутих процеса. Линук је много свестранији од својих колега и нуди више метода за решавање мртвих / неодговарајућих процеса.

Различите методе убијања мртвог Линук процеса


Углавном ћемо дати две методе за убијање зомби процеса. За прву методу користићемо Линук терминал. За ово ћемо прво морати да идентификујемо ИД процеса. Једном успешно добијени, можемо да користимо овај ПИД да убијемо програм тако што ћемо му послати одређене сигнале.

Такође ћете научити како се изводе такви задаци убијања Линук-а из графичког корисничког интерфејса или Кс прозора. Користићемо 'Системски монитор' апликација доступна у Убунту-у за ово. Иако је ово ГНОМЕ апликација, слични алати су доступни и за друга Линук окружења радне површине.

Завршите неодговарајући поступак из командне линије


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

ПИД или ИД процеса је јединствени број који идентификује процес. Њих креира Линук кернел током извршавања, а планери процеса контролишу њихове ЦПУ активности. Дакле, кад год позовете апликацију, кернел ће прво створити потребне процесе и доделити им ове јединствене ПИД вредности. Са процесом може бити повезано више ПИД-ова. Штавише, сваки процес има један надређени процес са јединственим ППИД (ИД надређеног процеса).

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

Сазнајте информације о ППИД-у


ППИД процеса можете сазнати помоћу неколико наредби за управљање процесима у Линуку, као што је пидоф, пстрее, и пгреп. Испитајмо их једног по једног и видећемо како добити ПИД Линук процеса.

1. метод: Коришћење пс команде


Команда пс у Линуку приказује све покренуте процесе заједно са осталим информацијама везаним за процесе, попут ПИД-а у терминалу. Ову наредбу можемо користити за попис свих процеса, а затим филтрирати одређени процес помоћу Линук греп наредби. Требало би да нам покаже информације о процесу које нас занимају.

$ нано> / дев / нулл &
$ пс помоћни | греп "нано"

Прво, позвали смо Линук едитор текста у позадини. Тада смо користили пс команду заједно са греп командом да бисмо пронашли ППИД овог уређивача. Излаз може садржавати неколико ИД-ова процеса, али нас занима само први, јер је то наш ППИД. Такође можемо користити Линук авк команду да бисмо сазнали ове информације, као што је приказано у наставку.

$ пс помоћни | авк '/ нано / принт $ 2'

Ова наредба је флексибилнија јер потискује све небитне информације. Приказаће само информације о ППИД-у које тражимо.

2. метод: Коришћење наредбе пстрее


Команда пстрее пружа нам приказ свих покренутих процеса у облику стабла. Пружа графички приказ листе задатака Линука из прозора терминала. Помоћу ове наредбе можете прегледати ППИД, као и све ПИД информације процеса. Погледајте примере у наставку да бисте научили како да искористите пстрее за проналажење ППИД одређеног процеса.

$ нано> / дев / нулл &
$ пстрее -п | греп 'нано' $ пстрее -п | авк '/ нано / принт $ НФ'

Прво, створили смо процес у позадини помоћу прве команде. Друга наредба затим преузима ППИД овог процеса помоћу наредбе греп у Линуку. Коначно, трећа команда показује нам како да дохватимо ову вредност помоћу команде авк.

3. метод: Коришћење пгреп наредбе


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

$ нано> / дев / нулл &
$ пгреп 'нано'

Настали смо нано процес слично ранијим примерима. Тада смо добили његов ППИД помоћу наредбе пгреп. Једном када добијемо ову вредност, можемо врло лако извршити Линук килл посао.

4. метод: Коришћење команде пидоф


Команда пидоф је још један једноставан, али користан начин одређивања ППИД-а Линук процеса. Приказује и ППИД и све остале ПИД-ове повезане са процесом. Погледајте доњи преглед да бисте видели како се ово користи у пракси.

$ нано> / дев / нулл &
$ пидоф нано $ пидоф -с нано

Када користите наредбу пидоф за проверу извршених процеса у Линуку, често ћете видети више ПИД-ова. Обично је у таквим случајевима први или последњи број ППИД, у зависности од тога да ли су у узлазном редоследу или у опадајућем. Можете користити опција пидоф-а да то ублажи. Приказаће само вредност ППИД.

5. метод: Коришћење горње команде


Команда топ пружа у реалном времену приказ свих извршених процеса у оперативним системима сличним Унику. Ово можете користити за приказ листе задатака Линука на вашем терминалу и сазнавање ПИД информација одређеног процеса.

$ топ

Користите следеће наредбе за дохваћање ППИД одређеног процеса из излаза горње наредбе.

$ нано> / дев / нулл &
$ топ -н1 -б | греп 'нано' $ топ -н1 -б | авк '/ нано / принт $ 1'

Будући да топ даје излаз у реалном времену, уместо да на терминал одлаже статичке податке, користили смо -н1 и могућност штампања статичког излаза. Тада можете доћи до података о ППИД-у помоћу греп наредбе или авк наредбе у Линуку.

Убијте неодговарајући Линук процес


Можете користити било који од горенаведених метода за проналажење ППИД-а процеса који не реагује. Једном када ово набавите, време је да поступак потпуно убијете. Постоји неколико наредби које нам омогућавају да то урадимо, као што је убити, пкилл, и киллалл. Видећемо како ће радити један по један у следећим одељцима.

1. метод: Коришћење наредбе килл


Наредбу килл широко користе Линук администратори због своје једноставности и робусних радњи. Потребан је ПИД процеса и сигнал. Кернел убија / зауставља извршавање процеса на основу овог сигнала. Следећу наредбу можете користити за преглед свих доступних сигнала наредби килл.

$ килл -л

Као што видите, килл нуди 64 различита сигнала. Међутим, у овом водичу ћемо размотрити само два од њих. То су сигнал 9 (СИГКИЛЛ) и сигнал 15 (СИГТЕРМ). СИГТЕРМ или сигнал 15 је сигуран метод убијања процеса који не реагује. СИГКИЛЛ или сигнал 9, с друге стране, сила убија Линук процес.

$ убити -9 8631 $ убити -УБИТИ 8631

Горње наредбе су еквивалентне и присилно ће убити процес који има ПИД 8631. То је ППИД процеса „нано“ у мом систему. Замените ово ПИД-ом процеса који не реагује у вашем систему.

$ убити -15 8631 $ убити -ТЕРМ 8631

Наведене наредбе су такође еквивалентне и елегантно ће убити процес. Због тога може проћи неко време док се процес не убије. Штавише, можда ћете морати да додате судо пре наредбе килл ако је процес у власништву другог корисника.

2. метод: Коришћење наредбе пкилл


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

$ пкилл нано $ пкилл 8631 $ пкилл -е нано $ пкилл -ф нано

Можете користити било коју од горе наведених пкилл наредби за убијање зомби / неодговарајућег процеса у Линуку. Користити опција ако желите потврду о Линук килл задатку. Команда пкилл такође омогућава корисницима да шаљу одређене завршне сигнале.

3. метод: Коришћење команде киллалл


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

$ киллалл нано $ киллалл --вербосе нано $ киллалл --интерацтиве нано $ киллалл --сигнал КИЛЛ нано

Први пример приказује основну употребу наредбе киллалл у Линуку. Друга наредба ће извести да ли је посао убијања успешан или не, а трећа ће затражити од корисника потврду пре него што убије процес. Подразумевано, киллалл користи СИГТЕРМ сигнал за процесе убијања. Међутим, сигнал можете одредити ручно, као што је приказано у последњем примеру.

4. метод: Коришћење практичних једнослојних облога


Права лепота Линука лежи у чињеници да омогућава корисницима да креирају софистициране комбинације команди на основу својих потреба. Да бисмо то демонстрирали, у овом одељку смо истакли неколико једнослојних линија.

$ нано> / дев / нулл &
$ килл -9 $ (пгреп нано) $ пс помоћно | греп -е 'нано' | авк 'принт $ 2' | каргс убити -9

У првом примеру смо користили интерполацију љуске да бисмо проследили ПИД процеса 'нано' наредби Линук килл. Други пример користи неколико свакодневних наредби терминала и И / О преусмеравање како би зауставио процес. Можете да припремите своје сјајне једнослојне линије када вам буде угодно са Линук терминалом.

5. метод: Убијте више процеса користећи Линук Схелл скрипте


Понекад корисници можда желе да заврше више од једног процеса. Такве задатке можемо лако аутоматизовати писањем једноставних скрипти љуске. Ако сте заинтересовани за ову тему, погледајте наш претходни водич о Линук скриптама љуске. Следећа скрипта ће преузети ППИД процеса које желите да убијете, а затим их завршити помоћу сигнала за убијање.

$ нано проц-убица.сх
#!/ уср / бин / енв басх за про у "$ @" до пид = $ (пгреп $ про | хеад -1) ецхо $ пид цомм = "килл -9 $ пид" евал $ цомм доне

Сада сачувајте ову датотеку и додајте дозволу за извршење издавањем наредбе у наставку.

$ цхмод + к проц-киллер.сх

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

$ ./ проц-убица.сх нано гедит влц

Једноставно замените аргументе именима неодговарајућих Линук процеса у вашем систему.

Завршите неодговарајући процес из ГУИ-ја


Неодговарајући поступак такође можете прекинути из графичког корисничког интерфејса или Кс прозора. У следећем одељку ћемо размотрити две методе за то.

1. метод: Коришћење апликације ккилл


Савремене Линук дистрибуције користе Кс графички прозор за пружање корисницима елегантног графичког искуства. Постоји једноставна алатка звана ккилл која омогућава корисницима да затворе неодговарајући ГУИ прозор. Могуће је јер је у Линуку насловни прозор апликације одвојен од саме апликације.

Једноставно идите на ваш емулатор терминала за Линук и унесите ккилл. Курсор вашег миша трансформисаће у дугме Кс, које се може користити за убијање било ког ГУИ прозора.

$ ккилл

Сада све што требате је само кликнути на траку прозора апликације која не реагује и она ће бити уништена и тренутно нестати.

2. метод: Коришћење апликације Систем Монитор на Убунту-у


Већина уобичајених Линук дистрибуција долази са неком врстом алата за надзор ГУИ-а који омогућавају корисницима да графички заврше објешени Линук процес. На пример, апликација Систем Монитор на Убунту-у ће нам омогућити да интуитивно прекинемо процес који не реагује. Можете једноставно одабрати мртви процес са листе процеса и убити га десним кликом на процес и одабиром опције убијања.

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

Завршавајући мисли


Будући да је управљање процесима у Линуку врло свестрано, корисници се често фрустрирају када се баве процесима који не реагују. Због тога су наши уредници у овом водичу изнели све могуће начине заустављања мртвог Линук процеса. Након што ово прочитате, могли бисте да убијете било који неодговарајући процес било из командне линије или из ГУИ-а. Такође можете да користите било коју од наших једнослојних команди за решавање таквих сметњи у најкраћем могућем року. Штавише, можете чак и да убијете више од једног процеса користећи нашу једноставну скрипту љуске. Надамо се да сте информације које сте тражили добили од нашег водича.

Како се користи ГамеЦонкуерор Цхеат Енгине у Линуку
Чланак покрива водич о коришћењу ГамеЦонкуерор варалице у Линуку. Многи корисници који играју игре на Виндовс-у често користе апликацију „Цхеат Енгине...
Најбољи емулатори играће конзоле за Линук
Овај чланак ће навести популарни софтвер за емулацију играће конзоле доступан за Линук. Емулација је слој компатибилности софтвера који опонаша хардве...
Најбољи Линук Дистрос за игре у 2021
Линук оперативни систем далеко је превалио свој изворни, једноставни изглед заснован на серверима. Овај ОС се изузетно побољшао последњих година и сад...