logo

Как да убия процес в Linux?

В една операционна система има много програми, които се изпълняват в RAM паметта на компютъра. Тези програми могат да се изпълняват от самата ОС или от потребител, такива програми се наричат „Процеси .' Обикновено процесът има свой жизнен цикъл и се прекратява сам, когато приключи или когато го напуснем ръчно. Но понякога даден процес може да затвори поради грешка в планирането на процеса или поради изразходване на много RAM или CPU. В такива случаи трябва да убием процесите ръчно, за да спасим машината си от неочаквано прекъсване.

Linux позволява различни инструменти за спиране на грешен процес. За да убием процес, трябва да имаме информация за процеса, като напр PID, сигнал и др .

Локализиране на процесите

За да убием процес, трябва да имаме достъп до информацията за процеса. Има различни команди за проследяване на процес, като напр Горна част , пс , хватка, и pidof.

Linux системата ни позволява да убием процес по различни начини, като напр убийте процес чрез неговото име или идентификатор на процеса (PID). Така че ще използваме горните команди според нашите нужди.

Намиране на процесите чрез команда 'top'

The Горна част командата се използва за изброяване на всички изпълнявани процеси в Linux система. Той показва подробна информация като PID, потребителско име, използване на процесора, време, изпълнена команда и др.

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

какво е хибернация в java
 top 

Горната команда ще покаже изпълняваните процеси. Помислете за резултата по-долу:

Kill Process Linux

Можем да преглеждаме процесите, като превъртаме нагоре и надолу в терминала. Горната команда предоставя различни филтри за филтриране на процесите, като име на процес, използване на процесора и др. За да излезете от горната секция, натиснете 'q' ключ, той ще ви върне към терминала. Можем обаче да използваме и традиционната опция за изход чрез натискане CTRL+ C ключове.

Намиране на процесите чрез командата ps и grep

The пс командата е друг начин за показване на информацията за процеса. Има много опции, които се използват с командата ps, като напр да се, което означава:

а: За показване на процесите за всички потребители

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

х : Да покаже всички процеси. Ако не посочим опцията x, тя няма да покаже GUI процеса.

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

 ps aux 

Помислете за резултата по-долу:

Kill Process Linux

Резултатът от командата ps е подобен на Горна част команда. Името на процеса и PID са дадени в първите две колони, а името на процеса е дадено в най-дясната колона.

Командата ps е по-полезна от горната команда. Това ни позволява да филтрираме изхода с командата grep.

Да предположим, че искаме да филтрираме целия процес с потребителско име javatpo+, изпълнете командата, както следва:

 ps aux | grep javatpo+ 

Горната команда ще филтрира целия указан процес чрез команда grep. Помислете за резултата по-долу:

Kill Process Linux

Горният изход осигурява командата ps, както и функционалността на командата grep заедно.

Намиране на процеса чрез команда pidof и pgrep

The pidof команда също ни позволява да намерим процеса. Ако искаме да проследим процес по името му, командата pidof ще бъде много полезна. Той показва PID на процесите, когато се използва с името на процеса.

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

 pidof process_name 

Ако имаме работещ процес с точно име хром , изпълнете командата, както следва, за да получите неговите PID.

 pidof chrome 

разгледайте изхода по-долу:

Kill Process Linux

Убиване на процес

Сега, след като проследихме процесите, можем да убием процес. Има различни команди, които се използват за спиране на процес като убивам , убивам , Горна част, и pkill.

Преди да убием процес, е необходимо да знаем какви процеси можем да убием. По-долу са някои основни точки относно процесите на умъртвяване:

  • Ако сте нормален потребител, тогава можете да убиете само процесите, които принадлежат на вас. Не можете да убиете процесите, които се изпълняват от другите потребители. The Горна част и ps към командите показват потребителите със свързания процес.
  • Потребител root може да убие всички процеси. Въпреки това можем също да добавим sudo преди всяка команда, за да я изпълним като root.
  • В Linux, когато процес се убива, към процесите се предава специален сигнал. Въпреки че в Linux има различни видове сигнали, но в този случай Linux се занимава с SIGKILLS и СРОК сигнали. По подразбиране. Linux изпраща SIGTERM, който прекратява процеса елегантно. Ако искате да убиете принудително процес, използвайте вместо това SIGKILL.
  • Linux запазва състоянието на процесите, докато не бъде напълно премахнат от системата. Така дъщерните процеси ще се показват в списъка с процеси, докато родителският процес не бъде изтрит.
  • Не можем да убием процес, ако е вътре „непрекъсваем сън .' Тази ситуация възниква, когато процес изпълнява входно/изходна операция. Това състояние може да се види в 8thколона на Горна част и ps към командата.

Убиване на процес чрез командата killall

Командата killall е най-лесната техника за убиване на процес, ако знаете точното име на процеса, не се изпълнява от друг потребител и не е в състояние Z или D. В командата kill all няма нужда да намирате процеса или PID. За да убиете процес, изпълнете командата, както следва:

 killall firefox 

Горната команда ще убие процеса и ще напусне браузъра firefox. Помислете за резултата по-долу:

Kill Process Linux

Ако командата успешно убие процеса, тя няма да даде никакъв резултат.

За да прекратите принудително процеса, изпълнете командата killall с -SIGKILL, както следва:

 killall -SIGKILL process_name 

можем също да използваме -9 вместо -SIGKILL.

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

 killall -i process_name 

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

 sudo killall process_name 

Можем също да убием процес за определен период от време, като използваме и знамена. За да убиете процес, който работи повече от 20 минути, изпълнете командата по-долу: killall -o 20m име на_процес

За да убиете процес, който работи по-малко от 20 минути, изпълнете командата по-долу:

 killall -y 20m process_name 

Съкращенията за използване на периода от време са както следва:

секунди: s

минути: м

часове: ч

дни: d

седмици: w

месеца: М

години: г

Убийте процес с командата pkill

Понякога не знаем точното име на процеса; в такъв случай командата pkill ще бъде най-полезната помощна програма за спиране на процес. Позволява ни да убием процес чрез въвеждане на съответстващото име на процеса. Например, искаме да убием всички процеси със съответстващо име java, изпълнете командата, както следва:

 pkill java 

ще затвори всички процеси, които съдържат име java. По подобен начин за спиране на процес на firefox изпълнете командата, както следва:

 pkill fire 

Помислете за резултата по-долу:

Kill Process Linux

Ако командата pkill е изпълнена успешно, тя няма да покаже никакъв резултат.

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

 pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>

Убийте процес чрез командата kill

Командата kill е най-простата помощна програма за спиране на процес; всичко, от което се нуждаем, е PID на процес. След като получим PID на процеса, това е прав процес. За да прекратите процес, изпълнете командата kill, последвана от PID. За да намерите PID на процес, използвайте командата top или ps aux, както е обяснено по-горе.

За да убиете процес с PID 5296, изпълнете командата, както следва:

 kill 5296 

За да прекратите принудително процес, използвайте опцията -SIGKILL или -9:

 kill -SIGKILL 5296 

Горната команда ще прекрати процеса с PID 5296.

Убийте процес чрез горна команда

Горната команда ни позволява да локализираме и убием процеса. Това е лесен процес за прекратяване на процес с помощта на команда top. Първо изпълнете горната команда, за да намерите процеса и натиснете 'к' докато командата се изпълнява. Той ще ви потопи в режим на убиване на процеса, въведете PID на процеса, който искате да убиете. Помислете за резултата по-долу:

Kill Process Linux

Както можем да видим от горния резултат, има опция ' PID за сигнал/убиване ' за да убиете процеса от горния списък с процеси. Въведете PID на процеса и натиснете ENTER ключ.

Ако оставим PID празен, това ще прекрати най-горния процес.

Убийте процес от системния монитор

Можем също да прекратим процес от графичната среда на Linux, наречена системен монитор. За да убиете процес чрез системен монитор, следвайте стъпките по-долу:

Етап 1: Търсете или прегледайте системния монитор, натиснете enter, за да го отворите.

Стъпка 2: Той ще изброи всички работещи процеси на вашата Linux система. Разгледайте изображението по-долу:

Kill Process Linux

Стъпка 3: Прегледайте процеса и щракнете с десния бутон върху него, който искате да прекратите.

Стъпка 4: Изберете опцията Kill. Също така можем да използваме CTRL+K ключове, за да го убиете.