logo

Hur man dödar en process i Linux | Kill Command

kill-kommandot i Linux (finns i /bin/kill), är ett inbyggt kommando som används för att avsluta processer manuellt. döda kommando skickar en signal till en process som avslutar processen. Om användaren inte anger någon signal som ska skickas tillsammans med kill-kommandot, då en standard TERMIN signal skickas som avslutar processen.

Grundläggande syntax för kill-kommandot i Linux

Den grundläggande syntaxen för kommandot 'kill' är som följer:



Syntax :

kill [signal] PID>

Här,

understryka text med css
  • PID = Kommandot `kill` kräver process-ID (PID) för processen vi vill avsluta.
  • [signal] = Vi måste ange signalen och om vi inte anger signalen, standardsignalen ` TERM` skickas för att avsluta processen

Signaler kan specificeras på tre sätt:

Signaler kan specificeras på tre sätt; de är följande:



1. Efter nummer:

Vi kan specificera en signal med hjälp av ett nummer. Till exempel har vi en PID ` 1212 ` och vill skicka en `SIGKILL`-signal för att döda denna PID. SIGKILL har ett signalnummer på ` 9 ` (För att hitta signalnummer kör kommandot `kill -l`).

Syntax:

kill -9 1212>

2. Med SIG-prefix (t.ex./-SIGkill)

Vi kan också specificera signal med SIG-prefix. Till exempel måste vi skicka en signal ` TERMIN ` och PID är ` 1432 `. För att bara kontrollera signalnumret för `SIGTERM`-signalen kan vi använda kommandot `kill -l`.



Syntax:

kill -SIGTERM 1432>

3. Utan SIG-prefix:

Vi kan också specificera signaler utan att använda SIG-prefix. Till exempel, om vill skicka signal ` TERM` och PID ` 1234 `. För att bara kontrollera signalnumret för `TERM`-signalen kan vi använda kommandot `kill -l`.

Syntax:

kill -TERM 1234>

Några vanliga signaler i kill Command

Tabellen nedan visar några vanliga signaler och deras motsvarande nummer.

Signalnamn Signalnummer Beskrivning
SIGHUP 1 Det avbröts vid kontroll av terminaler eller död av kontrollerande process.
SIGINT 2 Det avbryts från tangentbordet.
SIGKILL 9 Det dödar signalen.
TERMIN femton Den avslutar signalen.

För att kontrollera signalens namn och nummer kan vi använda ` döda -l ` kommando.

Alternativ och exempel på kill Command i Linux

döda -l Alternativ

För att visa alla tillgängliga signaler kan du använda kommandoalternativet nedan:

Syntax:

kill -l>

döda -l

Notera:

  • Negativa PID-värden används för att indikera processgrupps-ID. Om du skickar ett processgrupp-ID kommer hela processen inom den gruppen att ta emot signalen.
  • En PID på -1 är väldigt speciell eftersom den indikerar alla processer utom kill och init, som är förälderprocessen för alla processer i systemet.
  • Använd kommandot för att visa en lista över pågående processer ps och detta kommer att visa dig köra processer med deras PID-nummer. För att specificera vilken process som ska ta emot dödningssignalen måste vi tillhandahålla PID.

Syntax:

ps>

ps

döda PID Alternativ

Detta alternativ anger process-ID för processen som ska dödas.

Syntax:

kill pid>

döda -s Alternativ

Detta alternativ anger signalen som ska skickas till processen.

Syntax:

int till char java
kill -signal pid>

kill Command i Linux -FAQs

Hur dödar man en process från Linux-kommandoraden?

För att döda en process från Linux-kommandoraden kan du användakill>kommando följt av process-ID (PID) för målprocessen. Till exempel, för att avsluta en process med PID 1234, skulle du använda följande kommando:

kill 1234>

Som standard ärkill>kommandot skickar SIGTERM-signalen, vilket gör att processen kan utföra rensningsåtgärder innan den avslutas. Om processen inte svarar på SIGTERM eller om omedelbar avbrytning krävs, kan du använda SIGKILL-signalen med-9>alternativ:

kill -9 1234>

Det är viktigt att notera att att tvångsavsluta en process med SIGKILL kan resultera i dataförlust eller korruption, så det rekommenderas att du provar SIGTERM först och bara använder SIGKILL om det behövs.

Hur dödar man flera processer samtidigt?

Vi kan använda kill-kommandot för att döda flera processer samtidigt. Vi behöver bara specificera flera PID: er separerade med mellanslag, eller så kan vi också använda kommandot 'killall' för att döda alla processer med ett specifikt namn.

Till exempel:

Om vi ​​vill döda processer PID som 1234, 4321 och 2342, kan vi använda följande kommando:

kill 1234 4321 2342>

Om vi ​​vill döda alla processer med namnet firefox. Vi kan använda följande kommando.

killall firefox>

Är det säkert att döda systemprocesserna?

Nej, det är viktigt att notera att endast döda processer som vi vet är säkra att döda och döda systemprocesser kan orsaka systeminstabilitet. Det är alltid bättre att använda andra metoder som att starta om systemet eller identifiera grundorsaken till problemet och åtgärda det.

Vad är skillnaden mellan SIGTERM och SIGKILL i kommandot 'kill' i Linux?

SIGTERM, det skickar en avslutningssignal till processen som hjälper till att avsluta på ett elegant sätt. Medan SIGKILL skickar en dödningssignal till processen, som avslutar processerna kraftfullt och omedelbart.

Till exempel:

För att skicka signalen `SIGTERM` och PID `4321` kan vi använda följande kommando.

nätverksoperativsystem
kill -15 4321>

För att skicka signalen `SIGKILL` och PID `4321` kan vi använda följande kommando.

kill -9 4321>

Hur kan jag hitta process-ID (PID) för ett specifikt program i Linux?

För att hitta PID för ett specifikt program kan du användapgrep>kommando följt av programmets namn. Till exempel, för att hitta PID för firefox-processen, skulle du ange:

pgrep firefox>

Vad är syftet medpkill>kommandot, och hur skiljer det sig frånkill>kommando?

Depkill>kommando används för att skicka signaler till processer baserat på deras namn, vilket ger ett bekvämare sätt att avsluta processer. Det skiljer sig frånkill>kommando genom att tillåta användare att ange processer efter namn snarare än PID.

Hur kan jag kontrollera resursanvändningen (CPU, minne) för en specifik process i Linux?

För att kontrollera resursanvändningen för en specifik process kan du användatop>kommandot tillsammans med process-ID (PID). Till exempel, för att övervaka resursanvändningen av en process med PID 1234, skulle du köra:

top -p 1234>

Slutsats

Kommandot `kill` i Linux är ett mycket kraftfullt verktyg för att hantera processer. Vi har förstått de olika sätten att specificera signalerna och tillgängliga alternativ i kill-kommandot som kan hjälpa oss att hantera våra systemresurser effektivt och lösa problem snabbt och effektivt.