logo

Dood commando

Wat is een kill-commando?

Linux is een geavanceerd en geweldig besturingssysteem; het is echter niet perfect. Een paar applicaties kunnen zich onzorgvuldig gaan gedragen, ongevoelig worden of meerdere systeembronnen gaan verbruiken.

terwijl lus Java

Ongevoelige applicaties kunnen niet opnieuw worden opgestart, omdat het daadwerkelijke applicatieproces nooit volledig uitvalt. Een enkele oplossing is het opnieuw opstarten van het systeem of het beëindigen van het proces van de applicatie.

Er zijn verschillende hulpprogramma's waarmee we foutieve processen kunnen beëindigen, samen met de doden commando. Deze opdracht wordt het meest gebruikt in Linux.

In Linux , kan het kill-commando (bevindt zich in /bin/kill) worden gedefinieerd als een ingebouwd commando.

Het wordt gebruikt voor het handmatig beëindigen van de processen. Het gedrag van het kill-commando verschilt enigszins tussen de granaten en de /bin/doden zelfstandig uitvoerbaar bestand.

We kunnen het type commando toepassen om elke locatie op ons systeem weer te geven die kill bevat:

 $ type -a kill 

Dood commando

Het kill-commando draagt ​​een signaal over aan een proces, waarin het proces verder wordt beëindigd. Wanneer de gebruiker geen enkel signaal beschrijft dat moet worden overgedragen met het kill-commando, dan wordt de TERMIJN Er wordt een signaal (standaard) verzonden dat het proces beëindigt. Als het signaal niet wordt beschreven, wordt het standaard ingesteld -vijftien ( -TERMIJN ).

De meest toegepaste signalen zijn als volgt:

    HUP (1)-Het laadt een proces opnieuw.DODEN (9)-Het doodt een proces.TERMIJN (15)-Het stopt een proces op elegante wijze.

We kunnen het kill-commando samen met de -l optie voor het verkrijgen van de lijst met elk beschikbaar signaal:

 $ kill -l 

Dood commando

Deze signalen kunnen op drie verschillende manieren worden beschreven. Deze manieren worden hieronder vermeld:

  • Op nummer (bijvoorbeeld -6)
  • Zonder SIG-voorvoegsel (bijv. -kill)
  • Met SIG-voorvoegsel (bijv. -SIGkill)

De onderstaande opdrachten lijken op elkaar:

instellingenmenu openen
  • $ doden -SIGHUP PID_NUMBER
  • $ doden -HUP PID_NUMBER
  • $ doden -1 PID_NUMBER

De PID's die aan het kill-commando worden gegeven, kunnen elk van de onderstaande zijn:

  1. Het signaal wordt samen met de ID, vergelijkbaar met de PID, naar het proces overgedragen wanneer PID groter is dan nul.
  2. Het signaal wordt overgedragen naar elk proces binnen de huidige procesgroep wanneer de PID gelijk is aan nul. Het betekent dat het signaal wordt overgedragen naar elk proces dat verband houdt met de Shell GID en dat om het kill-commando vraagt. Wij kunnen de ps-efj commando voor het bekijken van de ID's van de procesgroep (GID's).
  3. Het signaal wordt naar elk proces overgedragen, samen met dezelfde UID als een gebruiker die de opdracht aanvraagt, wanneer de PID gelijk is aan -1. Als de aanvragende gebruiker de root is, wordt het signaal naar elk proces overgedragen, behalve naar het kill- en init-proces.
  4. Het signaal wordt samen met GID naar elk proces binnen de procesgroep overgedragen, vergelijkbaar met de absolute waarde van de PID wanneer de PID kleiner is dan -1.

Reguliere gebruikers kunnen signalen overbrengen naar hun processen. Het omvat echter niet de gebruikers die gerelateerd zijn aan een andere gebruiker. Aan de andere kant kan de rootgebruiker het signaal overbrengen naar de processen van de andere gebruiker.

  • De PID van -1 is zeer uniek omdat deze elk proces aangeeft, behalve init en kill, wat een ouderproces is van elk proces in het systeem.
  • Negatieve waarden van PID worden gebruikt om de procesgroep-ID aan te geven. Wanneer we een procesgroep-ID doorgeven, krijgt elk proces binnen die groep het signaal.
  • Om de lijst met actieve processen weer te geven, kunnen we de opdracht ps gebruiken en deze toont ons de actieve processen samen met het PID-nummer. We moeten de PID opgeven om te specificeren welk proces het signaal van het kill-commando moet ontvangen.

Syntaxis:

 $ps 

Dood commando

ps naar: Deze opdracht wordt gebruikt voor het weergeven van elk lopend proces, samen met hun PID's en andere details. Als we de proces-ID niet kennen, kunnen we deze opdracht gebruiken.

Dood commando

Opties van het kill-commando

1. doden -l: Deze optie wordt gebruikt voor het weergeven van elk bestaand signaal. We kunnen de volgende opdrachtoptie toepassen:

Syntaxis:

 $kill -l 

Dood commando

2. dood pid: Deze optie wordt gebruikt om te laten zien hoe u de PID samen met het kill-commando toepast.

Syntaxis:

 $kill pid 

Dood commando

3. doden -L: Het commando kill -L kan worden gebruikt om de bestaande signalen in een tabelformaat op te sommen.

Syntaxis:

Java-datum naar tekenreeks
 /bin/kill -L 

Dood commando

4. Signaalnummer vertalen: We kunnen elk signaalnummer eenvoudig vertalen naar een signaalnaam door het volgende commando te gebruiken:

 /bin/kill --list=12 

Dood commando