logo

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

Какво е команда за убийство?

Linux е напреднала и страхотна операционна система; обаче не е перфектно. Няколко приложения може да започнат да се държат небрежно и да станат нечувствителни или да започнат да консумират няколко системни ресурса.

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

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

частично производно на латекс

в Linux , командата kill (разположена в /bin/kill) може да се дефинира като вградена команда.

Използва се за ръчно прекратяване на процесите. Поведението на командата kill е малко по-различно между черупките и /bin/kill самостоятелен изпълним файл.

Можем да приложим командата type за показване на всяко местоположение в нашата система, което съдържа kill:

 $ type -a kill 

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

Командата kill прехвърля сигнал към процес, който допълнително прекратява процеса. Когато потребителят не описва никакъв сигнал, който трябва да бъде прехвърлен с командата kill, тогава СРОК прехвърля се сигнал (по подразбиране), който ще прекрати процеса. Ако сигналът не е описан, тогава ще се използва по подразбиране - петнадесет ( -СРОК ).

Най-широко прилаганите сигнали са следните:

    HUP (1)-Той презарежда процес.УБИЙ (9)-Убива процес.СРОК (15)-Спира процес грациозно.

Можем да използваме командата kill заедно с опция за получаване на списък с всеки наличен сигнал:

 $ kill -l 

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

Тези сигнали могат да бъдат описани по три различни начина. Тези начини са изброени по-долу:

  • По номер (напр. -6)
  • Без префикс SIG (напр. -kill)
  • С SIG префикс (напр. -SIGkill)

Командите по-долу са подобни една на друга:

  • $ kill -SIGHUP PID_NUMBER
  • $ убийство -HUP PID_NUMBER
  • $ убийство -1 PID_NUMBER

PID, дадени на командата kill, може да бъде всеки от следните:

  1. Сигналът ще бъде прехвърлен към процеса заедно с идентификатор, подобен на PID, когато PID е по-голям от нула.
  2. Сигналът ще бъде прехвърлен към всеки процес в текущата група процеси, когато PID е еквивалентен на нула. Това означава, че сигналът ще бъде прехвърлен към всеки процес, свързан с GID на Shell, който изисква командата kill. Можем да приложим ps -efj команда за преглед на идентификаторите на групата процеси (GID).
  3. Сигналът ще бъде прехвърлен към всеки процес заедно с подобен UID като потребител, който иска командата, когато PID е еквивалентен на -1. Ако искащият потребител е root, тогава сигналът ще бъде прехвърлен към всеки процес, с изключение на процеса на убиване и стартиране.
  4. Сигналът ще бъде прехвърлен към всеки процес в групата процеси заедно с GID, подобен на абсолютната стойност на PID, когато PID е по-малък от -1.

Редовните потребители могат да прехвърлят сигнали към своите процеси. Той обаче не включва онези потребители, които са свързани с друг потребител. От друга страна, root потребителят може да прехвърли сигнала към процесите на другия потребител.

  • PID от -1 е много уникален, защото показва всеки процес с изключение на init и kill, който е родителски процес на всеки процес в системата.
  • Отрицателните стойности на PID се използват за указване на ID на групата процеси. Когато подадем идентификатор на група процеси, тогава всеки процес в тази група ще получи сигнала.
  • За да покажем списъка с изпълнявани процеси, можем да използваме командата ps и тя ще ни покаже изпълняваните процеси заедно с PID номера. Трябва да дадем PID, за да уточним кой процес трябва да получи сигнала на командата kill.

Синтаксис:

 $ps 

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

пс до: Тази команда се използва за показване на всеки работещ процес заедно с техните PID и други подробности. В случай, че не знаем идентификатора на процеса, можем да използваме тази команда.

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

Опции на командата kill

1. убивам -l: Тази опция се използва за показване на всеки съществуващ сигнал, можем да приложим следната опция на командата:

Синтаксис:

 $kill -l 

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

2. убийте pid: Тази опция се използва за показване как да се приложи PID заедно с командата kill.

Синтаксис:

 $kill pid 

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

3. убий -L: Командата kill -L може да се използва за изброяване на съществуващите сигнали във формат на таблицата.

Синтаксис:

 /bin/kill -L 

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

4. Преведете номера на сигнала: Можем лесно да преведем всеки номер на сигнал в име на сигнал, като използваме следната команда:

 /bin/kill --list=12 

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