Как да убиеш процеси с Linux

По-голямата част от времето ще искате да завърши програмата по свой собствен начин или ако е графично приложение, като използвате подходящата опция в менюто или като използвате кръста в ъгъла.

Всеки от вас често ще виси една програма, в който случай ще ви е необходим метод за убиването й. Също така може да искате да убиете програма, която работи във фонов режим, която вече не е необходимо да се изпълнява.

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

Как да използвате командата killall

Командата killall убива всички процеси по име. Това означава, че ако имате три версии на една и съща програма, командата killall ще убие и трите.

Например, отворете малка програма като този за преглед на изображения. Сега отворете друго копие на същия преглед на изображения. За моя пример избрах Xviewer, който е клон на Eye of Gnome .

Сега отворете терминал и въведете следната команда:

killall

Например, за да убиете всички копия на Xviewer, направете следното:

убивам xviewer

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

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

killall може да доведе до странни резултати. Е, тук е една от причините. Ако имате команда с дължина повече от 15 знака, командата killall ще работи само на първите 15 знака. Ако имате две програми, които споделят едни и същи първи 15 знака, двете програми ще бъдат отменени, въпреки че само искате да ги убиете.

За да преодолеете това, можете да зададете следния ключ, който ще убие само файлове, съвпадащи с точното име.

killall -e

Игнориране на случая при убиване на програми

За да се уверите, че командата killall игнорира случая на името на програмата, което сте предоставили, използвайте следната команда:

killall -I
killall - случай на подписване

Убий всички програми в една и съща група

Когато изпълнявате команда като следващата, тя ще създаде два процеса:

ps-ее | по-малко

Една команда е за ps-е част, която изброява всички текущи процеси на вашата система и изходът е piped към по-малко команда .

И двете програми принадлежат към същата група, която е bash.

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

killall -g

Например, за да унищожите всички команди, изпълнявани в shell shell, изпълнете следното:

killall-g bash

Между другото, за да покажете всички текущи групи, изпълнете следната команда:

ps -g

Получаване на потвърждение преди убиването на програми

Очевидно командата killall е доста мощна команда и не искате случайно да убивате грешните процеси.

Използвайки следния ключ, ще бъдете попитани дали сте сигурни, преди да бъде убит всеки процес.

killall -i

Убий процеси, които са работили за определено време

Представете си, че сте стартирали програма и това отнема много повече, отколкото се надявахте.

Можете да убиете командата по следния начин:

killall -o h4

Частта h в горната команда е за часове.

Можете също да посочите едно от следните:

Като алтернатива, ако искате да убиете команди, които са започнали да работят, можете да използвате следния ключ:

killall-h4

Този път командата killall ще убие всички програми, работещи за по-малко от 4 часа.

Не ми казвай, когато процесът не е убит

По подразбиране, ако опитате и убиете програма, която не работи, ще получите следната грешка:

име на програмата: няма намерен процес

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

killall -q

Използване на редовни изрази

Вместо да посочите името на програма или команда, можете да зададете регулярен израз, така че всички процеси, които съответстват на регулярния израз, да бъдат затворени от командата killall.

За да използвате регулярен израз, използвайте следната команда:

killall-r

Убий програми за A Посочете потребител

Ако искате да убиете програма, която се изпълнява от конкретен потребител, можете да определите следната команда:

killall -u

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

Изчакайте, за да приключите

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

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

killall -w

Ако програмата никога не умира, тогава killall също ще продължи да живее.

Сигнали за сигнали на сигнали

По подразбиране командата killall изпраща сигнала SIGTERM на програми, за да ги затвори и това е най-чистият метод за убиване на програми.

Има обаче и други сигнали, които можете да изпратите, като използвате командата killall и можете да ги изброите, като използвате следната команда:

killall -l

Списъкът, който се връща, ще бъде нещо като това:

Този списък е изключително дълъг. За да прочетете какво означават тези сигнали, изпълнете следната команда:

мъж 7 сигнал

Обикновено трябва да използвате опцията SIGTERM по подразбиране, но ако програмата откаже да умре, можете да използвате SIGKILL, което принуждава програмата да приключи, макар и по нецензурен начин.

Други начини за убиване на програма

Има още 5 начина да убиете едно приложение за Linux, както е подчертано в свързаното ръководство.

Все пак, за да ви спестим усилията да кликнете върху връзката тук, е раздел, показващ какво са тези команди, защо можете да използвате тези команди над killall.

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

За да стартирате командата kill, трябва да знаете идентификационния номер на процеса, който искате да убиете. За това можете да използвате командата ps .

Например, за да намерите работеща версия на Firefox, можете да изпълните следната команда:

ps-ее | намерени онлайн филми

Ще видите ред данни с командата / usr / lib / firefox / firefox в края. В началото на реда ще видите идентификационния номер на потребителя и номерът, след идентификационния номер на потребителя, е ID на процеса.

Като използвате идентификационния номер на процеса, можете да убиете Firefox, като изпълните следната команда:

kill -9

Друг начин да убиете програма е чрез командата xkill. Това обикновено се използва за убиване на неправилни графични приложения.

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

xkill

Курсорът сега ще се промени на голям бял кръст. Задръжте курсора над прозореца, който искате да убиете, и кликнете с левия бутон на мишката. Програмата ще излезе незабавно.

Друг начин за убиване на даден процес е използването на горната команда на Linux. В горната команда са изброени всички текущи процеси в системата ви.

Всичко, което трябва да направите, за да убиете даден процес, е да натиснете клавиша "k" и да въведете ID на процеса на приложението, което искате да убиете.

По-рано в този раздел командата kill и ви е необходима намирането на процеса с помощта на командата ps и след това да убиете процеса, като използвате командата kill.

Това не е най-простият вариант по никакъв начин.

От една страна, командата ps връща много информация, от която не се нуждаете. Всичко, което искахте, беше ID на процеса. Можете да получите ID на процеса по-просто, като изпълните следната команда:

pgrep firefox

Резултатът от горната команда е просто идентификационният номер на процеса на Firefox. Вече можете да стартирате командата kill, както следва:

kill

(Заменете с действителния ID на процеса, върнат от pgrep).

Всъщност е по-лесно да подадете името на програмата на pkill, както следва:

намерени онлайн филми

И накрая, можете да използвате графичен инструмент като този, доставен с Ubuntu, наречен "System Monitor". За да стартирате "Монитор на системата", натиснете клавиша "супер" (клавиш Windows на повечето компютри) и въведете "sysmon" в лентата за търсене. Когато се появи иконата на системния монитор, кликнете върху нея.

Системният монитор показва списък с процеси. За да завършите програмата по чист начин, я изберете и натиснете клавиша за край в долната част на екрана (или натиснете CTRL и E). Ако това не работи, кликнете с десния бутон и изберете "Убий" или натиснете CTRL и K върху процеса, който искате да убиете.