Linux Command Line Tutorial For Beginners 15 - kill command
Inhoudsopgave:
- commando
kill - Processen beëindigen met het
killcommando - Processen opnieuw laden met de opdracht
kill - Conclusie
Linux is een geweldig en geavanceerd besturingssysteem, maar het is niet perfect. Eens in de zoveel tijd gedragen sommige toepassingen zich soms grillig en reageren ze niet meer of gaan ze veel systeembronnen in beslag nemen. Niet-reagerende toepassingen kunnen niet opnieuw worden gestart omdat het oorspronkelijke toepassingsproces nooit volledig wordt afgesloten. De enige oplossing is om het systeem opnieuw op te starten of het toepassingsproces te beëindigen.
Er zijn verschillende hulpprogramma's waarmee u foutieve processen kunt beëindigen en het meest gebruikte kunt
kill
.
commando
kill
kill
is een shell ingebouwd in de meeste van Bourne afgeleide shells zoals Bash en Zsh. Het opdrachtgedrag verschilt enigszins tussen de shells en het zelfstandige
/bin/kill
uitvoerbare bestand.
Gebruik de opdracht
type
om alle locaties op uw systeem met
kill
:
type -a kill
kill is a shell builtin kill is /bin/kill
De output hierboven vertelt dat de ingebouwde shell prioriteit heeft over het zelfstandige uitvoerbare bestand en het wordt gebruikt wanneer je
kill
typt. Als u het binaire bestand wilt gebruiken, typt u het volledige pad naar het bestand
/bin/kill
., we zullen de Bash ingebouwde gebruiken.
De syntaxis van het
kill
commando heeft de volgende vorm:
kill…
Het
kill
commando stuurt een signaal naar gespecificeerde processen of procesgroepen, waardoor ze volgens het signaal handelen. Als het signaal niet is opgegeven, wordt standaard
-15
(-TERM) gebruikt.
De meest gebruikte signalen zijn:
-
1(HUP) - Laad een proces opnieuw.9(KILL) - Dood een proces.15(TERM) - Stop een proces netjes.
Roep de opdracht op met de optie
-l
om een lijst met alle beschikbare signalen te krijgen:
kill -l

Signalen kunnen op drie verschillende manieren worden gespecificeerd:
- Nummer gebruiken (bijv.
-1of-s 1).Het "SIG"-SIGHUP(bijv.-SIGHUPof-s SIGHUP). Zonder het "SIG"-HUP(bijv.-HUPof-s HUP).
De volgende opdrachten zijn gelijkwaardig aan elkaar:
kill -1 PID_NUMBER
kill -SIGHUP PID_NUMBER
kill -HUP PID_NUMBER
De PID's die aan het
kill
commando worden verstrekt, kunnen een van de volgende zijn:
- Als
PIDgroter is dan nul, wordt het signaal verzonden naar het proces met ID gelijk aan dePID. AlsPIDgelijk is aan nul, wordt het signaal verzonden naar alle processen in de huidige procesgroep. Met andere woorden, het signaal wordt verzonden naar alle processen die behoren tot de GID van de shell die hetkillcommando heeft aangeroepen. Gebruik de opdrachtps -efjom de procesgroep-ID's (GID's) te bekijken. AlsPIDgelijk is aan-1, wordt het signaal verzonden naar alle processen met dezelfde UID als de gebruiker die de opdracht aanroept. Als de aanroepende gebruiker root is, wordt het signaal verzonden naar alle processen behalve init en hetkillproces zelf. AlsPIDkleiner is dan-1, wordt het signaal verzonden naar alle processen in de procesgroep eq met GID gelijk aan de absolute waarde van dePID.
Reguliere gebruikers kunnen signalen naar hun eigen processen sturen, maar niet die van andere gebruikers, terwijl de rootgebruiker signalen naar processen van andere gebruikers kan sturen.
Processen beëindigen met het
kill
commando
Om een proces te beëindigen of te doden met de opdracht
kill
, moet u eerst het proces-ID-nummer (PID) vinden. U kunt dit doen met behulp van verschillende opdrachten zoals
top
,
ps
,
pidof
en
pgrep
.
Stel dat de Firefox-browser niet meer reageert en dat u het Firefox-proces moet beëindigen. Gebruik de opdracht
pidof
om de browser-PID's te vinden:
pidof firefox
De opdracht drukt de ID's van alle Firefox-processen af:
6263 6199 6142 6076
Zodra u de procesnummers kent, kunt u ze allemaal beëindigen door het
TERM
signaal te verzenden:
kill -9 2551 2514 1963 1856 1771
In plaats van naar PID's te zoeken en vervolgens de processen te beëindigen, kunt u de bovenstaande opdrachten combineren in één:
Processen opnieuw laden met de opdracht
kill
Een ander veelgebruikt geval voor
kill
is om het
HUP
signaal te verzenden, dat de processen vertelt de instellingen opnieuw te laden.
Als u Nginx bijvoorbeeld opnieuw wilt laden, moet u een signaal verzenden naar het masterproces. Het proces-ID van het Nginx-masterproces is te vinden in het bestand
nginx.pid
, dat zich meestal in de map
/var/run
.
Gebruik de opdracht
cat
om de master-PID te vinden:
cat /var/run/nginx.pid
30251
Zodra u de master-PID hebt gevonden, laadt u de Nginx-instellingen opnieuw door te typen:
sudo kill -1 30251
De bovenstaande opdracht moet worden uitgevoerd als root of gebruiker met sudo-rechten.
Conclusie
Het
kill
commando wordt gebruikt om een signaal naar processen te sturen. Het meest gebruikte signaal is
SIGKILL
of
-9
, waarmee de gegeven processen worden beëindigd.
De Android Fine Print: Kill Switch en andere weetjes
Er brak een tumult uit toen iPhone-gebruikers een zogenaamde remote kill-schakelaar op hun telefoons - zal het hetzelfde blijven ... <> Er brak een oproer uit toen iPhone-gebruikers een zogenaamde remote kill-schakelaar op hun telefoons ontdekten - zal het dezelfde reactie stimuleren bij gebruikers van de G1, de eerste Android-telefoon?
Waarom Android 'Kill Switch' goed is
De eerste Android-telefoon van Google, de G1 van T-Mobile, heeft een "kill-schakelaar" die zorgt voor het op afstand verwijderen van programma's die T-Mobile niet wil gebruiken. Is dit een goede zaak?
Kentucky Kill Online Gokken permanent
De poging van Kentucky om de toegang van inwoners tot 141 online goksites te blokkeren is doorgegaan naar het volgende niveau, als een Franklin County Circuit Court rechter weigerde donderdag om de zaak af te wijzen.







