Vad är ett kill-kommando?
Linux är ett avancerat och bra operativsystem; men det är inte perfekt. Några applikationer kan börja bete sig slarvigt och bli okänsliga eller börja konsumera flera systemresurser.
Okänsliga applikationer kan inte startas om eftersom själva ansökningsprocessen aldrig försvinner helt. En enda lösning är att antingen starta om systemet eller avbryta applikationsprocessen.
Det finns olika verktyg som tillåter oss att avsluta felaktiga processer tillsammans med döda kommando. Detta kommando används mest i Linux.
I Linux , kan kill-kommandot (finns i /bin/kill) definieras som ett inbyggt kommando.
Den används för att manuellt avsluta processerna. Beteendet för kill-kommandot är något annorlunda bland skalen och /bin/kill fristående körbar.
Vi kan använda typkommandot för att visa varje plats på vårt system som innehåller kill:
$ type -a kill
Kill-kommandot överför en signal till en process där processen ytterligare avslutas. När användaren inte beskriver någon signal som ska överföras med kill-kommandot då TERMIN signal (standard) överförs som kommer att avsluta processen. Om signalen inte beskrivs kommer den att vara standard -femton ( -TERMIN ).
sammansatt primärnyckel
De mest använda signalerna är följande:
Vi kan använda kommandot kill tillsammans med -l alternativ för att få listan över alla tillgängliga signaler:
$ kill -l
Dessa signaler skulle kunna beskrivas på tre olika sätt. Dessa sätt listas nedan:
- Efter nummer (t.ex. -6)
- Utan SIG-prefix (t.ex. -kill)
- Med SIG-prefix (t.ex. -SIGkill)
Följande kommandon liknar varandra:
lägg till sträng java
- $ kill -SIGHUP PID_NUMBER
- $ kill -HUP PID_NUMBER
- $ kill -1 PID_NUMBER
PID:erna som ges till kill-kommandot kan vara vem som helst från nedan:
- Signalen kommer att överföras till processen tillsammans med ID liknande PID när PID är större än noll.
- Signalen kommer att överföras till varje process inom den aktuella processgruppen när PID är ekvivalent med noll. Det betyder att signalen kommer att överföras till varje process som är relaterad till Shell GID som begär kill-kommandot. Vi kan tillämpa ps -efj kommando för att visa ID:n för processgruppen (GID).
- Signalen kommer att överföras till varje process tillsammans med liknande UID som en användare som begär kommandot när PID är ekvivalent med -1. Om den begärande användaren är roten, kommer signalen att överföras till varje process utom kill- och initprocessen.
- Signalen kommer att överföras till varje process inom processgruppen tillsammans med GID liknande PID:s absoluta värde när PID är mindre än -1.
Regelbundna användare kan överföra signaler till sina processer. Det inkluderar dock inte de användare som är relaterade till någon annan användare. Å andra sidan kan rotanvändaren överföra signalen till den andra användarens processer.
- PID för -1 är mycket unik eftersom den indikerar varje process utom init och kill, som är en överordnad process för varje process över systemet.
- Negativa värden på PID används för att indikera processgrupps-ID. När vi skickar ett processgrupp-ID kommer varje process inom den gruppen att få signalen.
- För att visa listan över pågående processer kan vi använda kommandot ps och det kommer att visa oss de pågående processerna tillsammans med PID-numret. Vi måste ge PID för att specificera vilken process som ska få signalen från kill-kommandot.
Syntax:
$ps
ps till: Detta kommando används för att visa varje pågående process tillsammans med deras PID och andra detaljer. Om vi inte känner till process-ID kan vi använda detta kommando.
Alternativ för kill-kommandot
1. döda -l: Detta alternativ används för att visa alla existerande signaler, vi kan använda följande kommandoalternativ:
Syntax:
$kill -l
2. döda pid: Det här alternativet används för att visa hur man tillämpar PID tillsammans med kommandot kill.
java hur man åsidosätter
Syntax:
$kill pid
3. döda -L: Kommandot kill -L kan användas för att lista de existerande signalerna i tabellens format.
Syntax:
/bin/kill -L
4. Översätt signalnummer: Vi kan enkelt översätta vilket signalnummer som helst till ett signalnamn genom att använda följande kommando:
/bin/kill --list=12