Научете Linux

5 бързи начина за убиване на процес в Linux

5 бързи начина за убиване на процес в Linux

Операционната система Linux предоставя няколко начина за прекратяване на процес на операционна система Linux. Очевидният начин за спиране на програма е чрез щракване върху бутона X в горния ляв или десен ъгъл. Но има безброй други начини за убиване на процес; ние сме тук, за да обсъдим другите ефективни начини.

Начини за убиване на процес в Linux

Контролна последователност

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

Последователността Ctrl-Z ще спре текущ процес. Той изпраща сигнала SIGTSP към процес, чието действие по подразбиране е да спре процеса.

команди за убиване

Операционната система Linux идва с командата kill, която можете да използвате, за да прекратите процес, когато те не реагират или консумира твърде много ресурси. Процесът в Linux е екземпляр на програма.

Уникален PID се генерира автоматично за този процес при стартиране на програма. Процесът на иницииране е първият процес, който се стартира при стартиране на Linux система и присвояване на стойност „1“.

Init е главният процес и не може да бъде убит чрез командата kill. Командата kill в процеса на init е просто искане за изключване на системата.

Това ръководство ще ви преведе през стъпките и няколко начина за прекратяване на работещ процес с помощта на терминала на Linux.

Потребителят root има всички разрешения, необходими за унищожаване на всички процеси. Можете да получите коренна черупка с командата su или да добавите sudo преди командата и да я стартирате.

Сигналът по подразбиране, изпратен от командата kill

Убиването на процес ще изпрати съобщение за прекратяване на посочения процес. Двата основни типа съобщения за прекратяване включват:

• SIGTERM - Командата kill ще изпрати сигнал SIGTERM по подразбиране. Той трябва да позволи на процеса да приключи чрез обичайните си процедури за изключване. Това е по-нежен начин за опит за прекратяване на процес и може да бъде блокиран.

• SIGKILL - Винаги ще убие процес внезапно. Ако SIGKILL не работи, операционната система е отказала. Това е най-бързият и най-ефективен метод за убиване на процес.

Избройте текущите процеси

Командата top, ps команда и pidof Command са най-лесните начини за преглед на изпълняващи се процеси в Linux система.

Синтаксис:

ps -e | grep име-на-процес

Снимката на екрана по-долу показва как да използвате командата ps, за да проверите дали MySQL работи в системата. Той ни дава PID на демона MySQL, който е1162.

Изображение, показващо как да използвате Grep MySQL

Общи опции за добавяне към командата ps

• -a: преглед на процесите от всички потребители.
• -u: преглед на подробна информация за всеки процес.
• -x: преглед на всички процеси, които се контролират от демони.

ps -e

опции, които да добавите към командата ps

Синтаксис:

Горна част

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

Най-добрите командни резултати

Използването на командата pgrep също е много ефективно за получаване на съответния идентификатор на процеса.

Използване на командата pgrep

Общи опции за добавяне към командата pgrep.

• -l: избройте имената на процесите и PID.
• -n: Връща най-новия процес.
• -o: Връща най-стария процес.
• -u: Намерете процеси, които принадлежат на конкретен потребител.
• -x: Намерете процес, който точно отговаря на даден модел.

Командата pidof се използва за намиране на IP на процес, ако знаете името на процеса.

Синтаксис:

пидоф  

Настроики:

• -c: Връща PID в рамките на една основна директория.
• -o: Той ще пропусне определени PID.
• -s: Връща един PID.
• -x: Връща PID на черупки, които изпълняват скриптове.

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

команда на killall

Командата killall се използва за убиване на процеси по име. Той може да убие множество процеси с една команда и по подразбиране изпраща сигнал SIGTERM.

Синтаксис:

убийство 

Опции, налични с командата killall:

• -e: Връща точното съвпадение за името на процеса.
• -I: Командата ще игнорира случая при намиране на името на процеса.
• -i: Ще поиска допълнителна информация при убиване на процес по име.
• -u: Ще убие процеси, притежавани от определен потребител на системата.
• -v: Ще даде обратна връзка дали процесът на убиване е изпълнен успешно.

Командата killall може също да прекратява процеси в Linux система въз основа на времето на изпълнение на процесите.

• -o: Тази опция ще унищожи всички процеси за повече от определеното време.
• -y: Тази опция ще унищожи всички процеси, работещи по-малко от определеното време.

Пример:

• killall -o 20m: Командата ще унищожи всички процеси, които са по-стари от 20 минути.
• Killall -y 20m: Командата ще унищожи всички процеси, работещи за по-малко от 15 минути.

команда за убиване

Командата kill ще убие процес, ако знаете IP на процеса.

Синтаксис:

убий 

Командата kill убива един процес с дадения идентификатор на процеса. Командата ще изпрати сигнал SIGTERM, за да спре и да изчака процесът да премине рутинните си процедури за изключване.

Убий -9 команда

Командата kill -9 се използва за прекратяване на неподходящи процеси или услуги.

Синтаксис:

убий -9 

или

убий -SIGKILL 

Командата kill -9 ще изпрати сигнал SIGKILL за незабавно спиране на процеса. Командата kill -9 ще заобиколи стандартната рутинна програма за изключване и всички незапазени данни ще бъдат загубени.

Програмите, които не реагират, ще игнорират командата kill, но ще прекратят всеки път, когато бъде издадена командата kill -9.

Други често използвани опции за убиване включват:

• -1 (HUP): Това е опцията „затваряне“ и обикновено е много безопасна.
• -2 (SIGINT): Това е същият сигнал като Ctrl-C и се счита за безопасна алтернатива за убиване на програма.
• -15 (-TERM): това е сигналът за прекратяване по подразбиране и обикновено е много безопасен.

Можете да получите пълен списък на всички налични сигнали, като използвате командата kill -l.

Пълен списък на всички налични сигнали с помощта на командата kill -l

pkill команда

Командата pkill ще убие процес, когато знаете името на процеса. По подразбиране pkill ще изпрати сигнала SIGTERM, за да прекрати процеса.

Синтаксис:

pkill  

pkill опции:

• -n: Тази команда ще убие най-новите процеси.
• -o: Тази команда ще убие най-старите процеси.
• -u: Тази команда ще убие процеси, базирани на избрания потребител.
• -x: Тази команда ще убие процеси, които съответстват на шаблон.
• -signal: Изпраща определен сигнал, различен от сигнала по подразбиране SIGTERM.

xkill

Командата xkill ще затвори връзката на сървъра с клиенти.

xkill 

Командата xkill ще прекрати нежеланите сървърни процеси.

команда на върха

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

Синтаксис:

Горна част

За да убиете процес чрез PID, вмъкнете k от интерфейса и след това въведете определен идентификатор на процеса.

Обобщение

• Трябва да имате разрешения на sudo, за да убиете процес чрез командния ред.

• Всеки път, когато генерирате сигнал с помощта на командата kill, системата Linux прекъсва нормалния поток на изпълнение на целевия процес.

• За да намерите работещ процес, можете да използвате командите ps, top, pgrep или pidof.

• Можете да убиете процес по име или идентификатор на процеса, като използвате командите kilall, pkill, kill, xkill или top.

• Процесът на убиване ще изпрати сигнал за прекратяване на SIGTERM, SIGHUP ИЛИ SIGKILL.

• Можете да използвате системния монитор, за да убиете процеса на Linux. Той може да бъде намерен в системните инструменти и предоставя няколко опции като най-горния процес, крайния процес или убиването на процеса.

• Командата kill и нейните варианти са доста ясни за разбиране и използване.

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

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