Het commando "Kill" beheersen in Linux
Het maakt niet uit welk besturingssysteem u gebruikt - u zult zeker een misdragende toepassing tegenkomen die zichzelf opsluit en weigert te sluiten. In Linux (en Mac) is er een " kill
" -opdracht die u kunt gebruiken om de toepassing met geweld af te breken. In deze zelfstudie laten we u de verschillende manieren zien waarop u gebruik kunt maken van de opdracht "kill" om een toepassing te beëindigen.
Kill commando's en signalen
Wanneer je een "kill" -opdracht uitvoert, stuur je in feite een signaal naar het systeem om het te instrueren om de app die zich misdraagt te beëindigen. Er zijn in totaal zestig signalen die je kunt gebruiken, maar het enige dat je echt moet weten is SIGTERM (15) en SIGKILL (9).
Je kunt alle signalen bekijken met de opdracht:
dood - l
- SIGTERM - Dit signaal vraagt om het stoppen van een proces. Dit signaal kan worden genegeerd. Het proces krijgt de tijd om sierlijk uit te schakelen. Wanneer een programma sierlijk wordt afgesloten, betekent dit dat het tijd wordt gegeven om zijn voortgang te bewaren en bronnen vrij te geven. Met andere woorden, het wordt niet gedwongen om te stoppen.
- SIGKILL - Het SIGKILL-signaal dwingt het proces om onmiddellijk te stoppen met uitvoeren. Het programma kan dit signaal niet negeren. Niet-opgeslagen voortgang gaat verloren.
De syntaxis voor het gebruik van kill
is:
kill [signaal of optie] PID (s)
Het standaardsignaal (wanneer er geen is opgegeven) is SIGTERM. Als dat niet werkt, kunt u het volgende gebruiken om een proces met geweld te doden:
vermoord SIGKILL PID
of
kill -9 PID
waarbij de vlag -9
verwijst naar het SIGKILL-signaal.
Als u niet op de hoogte bent van de PID van de toepassing, voert u gewoon de opdracht uit:
ps ux
en het toont alle actieve applicaties samen met zijn PID.
Als u bijvoorbeeld de Chrome-app wilt beëindigen, voert u de opdracht uit:
kill -9 3629
Merk ook op dat je meerdere processen tegelijkertijd kunt doden.
kill -9 PID1 PID2 PID3
pkill
Met de opdracht pkill
kunnen uitgebreide reguliere expressiepatronen en andere overeenkomende criteria worden gebruikt. In plaats van PID te gebruiken, kunt u nu toepassingen doden door hun procesnamen in te voeren. Om bijvoorbeeld de Firefox-browser te doden, voert u gewoon de opdracht uit:
pkill firefox
Omdat het overeenkomt met een regulier expressiepatroon, kunt u ook een gedeeltelijke naam van het proces invoeren, zoals:
pkill fire
Om te voorkomen dat de verkeerde processen worden gedood, kunt u een " pgrep -l [process name]
" gebruiken om de afstemmingsprocessen weer te geven.
killall
Killall gebruikt de procesnaam ook in plaats van PID en het doodt alle exemplaren van het proces met dezelfde naam. Als u bijvoorbeeld meerdere exemplaren van de Firefox-browser gebruikt, kunt u ze allemaal met de opdracht doden:
killall firefox
Xkill
Xkill is een grafische manier om een toepassing te doden. Wanneer u xkill
in de terminal typt, wordt uw muiscursor meteen een 'kruis'. U hoeft alleen maar op de kruisje op de app te klikken die niet goed werkt en de toepassing wordt onmiddellijk gedood. Als u wilt, kunt u ook een sneltoets toevoegen om de xkill-functie te activeren.
Conclusie
Wanneer apps zich misdragen en het systeem vastloopt, is het erg verleidelijk om de computer opnieuw op te starten en de sessie opnieuw te beginnen. Met deze "kill" -opdrachten kunt u de misdragen beter beheren zonder dat ze het systeem laten crashen. Dit is met name handig voor een server als u niet wilt dat een slecht werkend proces de hele server naar beneden haalt.
Afbeelding tegoed: Kill Bill (Gates)