kill-opdracht in Linux (bevindt zich in /bin/kill), is een ingebouwde opdracht die wordt gebruikt om processen handmatig te beëindigen. doden commando stuurt een signaal naar een proces dat het proces beëindigt. Als de gebruiker geen enkel signaal opgeeft dat samen met het kill-commando moet worden verzonden, is dit een standaardinstelling TERMIJN Er wordt een signaal verzonden dat het proces beëindigt.
Basissyntaxis van kill-opdracht in Linux
De basissyntaxis van het `kill`-commando is als volgt:
Syntaxis:
kill [signal] PID>
Hier,
ins-sleutel
- PID = Het commando `kill` vereist de proces-ID (PID) van het proces dat we willen beëindigen.
- [signaal] = We moeten het signaal specificeren en als we het signaal niet specificeren, het standaardsignaal ` TERMIJN` wordt verzonden om het proces te beëindigen
Signalen kunnen op drie manieren worden gespecificeerd:
Signalen kunnen op drie manieren worden gespecificeerd; ze zijn als volgt:
1. Op nummer:
We kunnen een signaal specificeren met behulp van een nummer. We hebben bijvoorbeeld een PID ` 1212 ' en wil een 'SIGKILL'-signaal sturen om deze PID te doden. SIGKILL heeft een signaalnummer ` 9 ` (Om signaalnummers te vinden, voert u het commando `kill -l` uit).
Syntaxis:
kill -9 1212>
2. Met SIG-voorvoegsel (bijv. -SIGkill)
We kunnen het signaal ook specificeren met behulp van het SIG-voorvoegsel. We moeten bijvoorbeeld een signaal 'sturen' TERMIJN ' en PID is ' 1432 `. Om alleen het signaalnummer van het signaal `SIGTERM` te controleren, kunnen we het commando `kill -l` gebruiken.
Syntaxis:
kill -SIGTERM 1432>
3. Zonder SIG-voorvoegsel:
We kunnen ook signalen specificeren zonder het SIG-voorvoegsel te gebruiken. Als u bijvoorbeeld een signaal ` TERMIJN` en PID` 1234 `. Om alleen het signaalnummer van het `TERM`-signaal te controleren, kunnen we het commando `kill -l` gebruiken.
Syntaxis:
kill -TERM 1234>
Enkele veelvoorkomende signalen bij Kill Command
De onderstaande tabel toont enkele veel voorkomende signalen en de bijbehorende nummers.
| Signaalnaam | Signaalnummer | Beschrijving |
|---|---|---|
| SIGHUP | 1 | Er wordt een verbinding gedetecteerd bij het besturen van terminals of het beëindigen van het besturingsproces. |
| SIGINT | 2 | Het onderbreekt vanaf het toetsenbord. |
| SIGKILL | 9 | Het doodt het signaal. |
| TERMIJN | vijftien | Het beëindigt het signaal. |
Om de signaalnaam en het signaalnummer te controleren, kunnen we ` doden -l ` commando.
Opties en voorbeelden van kill Command in Linux
doden -l Keuze
Om alle beschikbare signalen weer te geven, kunt u de onderstaande opdrachtoptie gebruiken:
Syntaxis:
kill -l>
doden -l
invoegsortering in Java
Opmerking:
- Negatieve PID-waarden worden gebruikt om de procesgroep-ID aan te geven. Als u een procesgroep-ID doorgeeft, ontvangen alle processen binnen die groep het signaal.
- Een PID van -1 is heel bijzonder omdat deze alle processen aangeeft, behalve kill en init, het moederproces van alle processen op het systeem.
- Gebruik de opdracht om een lijst met actieve processen weer te geven ps en dit toont u lopende processen met hun PID-nummer. Om te specificeren welk proces het kill-signaal moet ontvangen, moeten we de PID opgeven.
Syntaxis:
ps>
ps
dood PID Keuze
Deze optie specificeert de proces-ID van het proces dat moet worden beëindigd.
Syntaxis:
kill pid>
doden -s Keuze
Deze optie specificeert het signaal dat naar het proces moet worden verzonden.
Syntaxis:
kill -signal pid>
kill Command in Linux - Veelgestelde vragen
Hoe een proces vanaf de Linux-opdrachtregel te beëindigen?
Om een proces vanaf de Linux-opdrachtregel te beëindigen, kun je de
kill>commando gevolgd door de proces-ID (PID) van het doelproces. Om bijvoorbeeld een proces met PID 1234 te beëindigen, gebruikt u de volgende opdracht:kill 1234>Standaard is de
kill>commando verzendt het SIGTERM-signaal, waardoor het proces opruimbewerkingen kan uitvoeren voordat het wordt beëindigd. Als het proces niet reageert op SIGTERM of als onmiddellijke beëindiging vereist is, kunt u het SIGKILL-signaal gebruiken met de-9>keuze:kill -9 1234>Het is belangrijk op te merken dat het krachtig beëindigen van een proces met SIGKILL kan resulteren in gegevensverlies of corruptie. Het is dus aan te raden om eerst SIGTERM te proberen en alleen indien nodig een beroep te doen op SIGKILL.
wat is modulo in c++
Hoe meerdere processen tegelijk beëindigen?
We kunnen het kill-commando gebruiken om meerdere processen tegelijk te beëindigen. We hoeven alleen maar meerdere PID's op te geven, gescheiden door spaties, of we kunnen ook het commando `killall` gebruiken om alle processen met een specifieke naam te beëindigen.
Bijvoorbeeld:
Als we processen PID's zoals 1234, 4321 en 2342 willen beëindigen, kunnen we de volgende opdracht gebruiken:
kill 1234 4321 2342>Als we alle processen met de naam Firefox. We kunnen het volgende commando gebruiken.
killall firefox>
Is het veilig om de systeemprocessen te beëindigen?
Nee, het is belangrijk op te merken dat alleen het doden van processen waarvan we weten dat het veilig is om het te doden, en het doden van systeemprocessen systeeminstabiliteit kan veroorzaken. Het is altijd beter om andere methoden te gebruiken, zoals het opnieuw opstarten van het systeem of het identificeren van de hoofdoorzaak van het probleem en het oplossen ervan.
Wat is het verschil tussen SIGTERM en SIGKILL in het `kill`-commando in Linux?
SIGTERM, het stuurt een beëindigingssignaal naar het proces, wat helpt bij het op een elegante manier afsluiten. Terwijl SIGKILL een kill-signaal naar het proces stuurt, waardoor de processen krachtig en onmiddellijk worden beëindigd.
Bijvoorbeeld:
Om het signaal `SIGTERM` en PID `4321` te verzenden, kunnen we het volgende commando gebruiken.
kill -15 4321>Om het signaal `SIGKILL` en PID `4321` te verzenden, kunnen we het volgende commando gebruiken.
kill -9 4321>
Hoe kan ik de proces-ID (PID) van een specifiek programma in Linux vinden?
Om de PID van een specifiek programma te vinden, kunt u de
pgrep>commando gevolgd door de naam van het programma. Om bijvoorbeeld de PID van het Firefox-proces te vinden, voert u het volgende in:pgrep firefox>
Wat is het doel van depkill>commando, en hoe verschilt het van hetkill>commando?
De
pkill>commando wordt gebruikt om signalen naar processen te sturen op basis van hun naam, wat een gemakkelijkere manier biedt om processen te beëindigen. Het verschilt van dekill>commando door gebruikers toe te staan processen op naam te specificeren in plaats van op PID.
Hoe kan ik het bronnengebruik (CPU, geheugen) van een specifiek proces in Linux controleren?
Om het resourcegebruik van een specifiek proces te controleren, kunt u de
top>commando samen met de proces-ID (PID). Om bijvoorbeeld het brongebruik van een proces met PID 1234 te monitoren, voert u het volgende uit:top -p 1234>
Conclusie
Het `kill`-commando in Linux is een zeer krachtig hulpprogramma voor het beheren van processen. We hebben de verschillende manieren begrepen om de signalen en beschikbare opties in het kill-commando te specificeren, wat ons kan helpen onze systeembronnen efficiënt te beheren en problemen snel en effectief op te lossen.
doden -s