logo

Hvordan drepe en prosess i Linux | Kill Command

kill-kommando i Linux (plassert i /bin/kill), er en innebygd kommando som brukes til å avslutte prosesser manuelt. drepe kommando sender et signal til en prosess som avslutter prosessen. Hvis brukeren ikke spesifiserer noe signal som skal sendes sammen med kill-kommandoen, er det en standard BEGREP sendes et signal som avslutter prosessen.

Grunnleggende syntaks for kill-kommando i Linux

Den grunnleggende syntaksen til 'kill'-kommandoen er som følger:



Syntaks:

kill [signal] PID>

Her,

windows.open javascript
  • PID = `kill`-kommandoen krever prosess-ID (PID) til prosessen vi ønsker å avslutte.
  • [signal] = Vi må spesifisere signalet, og hvis vi ikke spesifiserer signalet, standardsignalet ` TERM` sendes for å avslutte prosessen

Signaler kan spesifiseres på tre måter:

Signaler kan spesifiseres på tre måter; de er som følger:



1. Etter nummer:

Vi kan spesifisere et signal ved hjelp av et tall. For eksempel har vi en PID ` 1212 ` og ønsker å sende et `SIGKILL`-signal for å drepe denne PID-en. SIGKILL har et signalnummer på ` 9 ` (For å finne signalnummer kjør `kill -l`-kommandoen).

Syntaks:

kill -9 1212>

2. Med SIG-prefiks (f.eks/ -SIGkill)

Vi kan også spesifisere signal ved å bruke SIG-prefiks. For eksempel må vi sende et signal ` BEGREP ` og PID er ` 1432 `. For å bare sjekke signalnummeret til `SIGTERM`-signalet kan vi bruke `kill -l`-kommandoen.



Syntaks:

kill -SIGTERM 1432>

3. Uten SIG-prefiks:

Vi kan også spesifisere signaler uten å bruke SIG-prefiks. For eksempel, hvis ønsker å sende signal ` TERM` og PID ` 1234 `. For å bare sjekke signalnummeret til `TERM`-signalet kan vi bruke `kill -l`-kommandoen.

Syntaks:

kill -TERM 1234>

Noen vanlige signaler i kill Command

Tabellen nedenfor viser noen vanlige signaler og deres tilsvarende tall.

Signalnavn Signalnummer Beskrivelse
SIGHUP 1 Det oppheng oppdaget på kontrollerende terminaler eller død av kontrollerende prosess.
SIGINT 2 Den avbryter fra tastaturet.
SIGKILL 9 Det dreper signal.
BEGREP femten Det avslutter signalet.

For å sjekke signalnavn og nummer kan vi bruke ` drepe -l ` kommando.

Alternativer og eksempler på kill Command i Linux

drepe -l Alternativ

For å vise alle tilgjengelige signaler, kan du bruke kommandoalternativet nedenfor:

Syntaks:

kill -l>

drepe -l

Merk:

  • Negative PID-verdier brukes for å indikere prosessgruppe-ID. Hvis du sender en prosessgruppe-ID, vil hele prosessen i den gruppen motta signalet.
  • En PID på -1 er veldig spesiell da den indikerer alle prosessene unntatt kill og init, som er hovedprosessen til alle prosesser på systemet.
  • Bruk kommandoen for å vise en liste over kjørende prosesser ps og dette vil vise deg kjørende prosesser med deres PID-nummer. For å spesifisere hvilken prosess som skal motta drepesignalet, må vi oppgi PID.

Syntaks:

ps>

ps

drepe PID Alternativ

Dette alternativet spesifiserer prosess-IDen til prosessen som skal drepes.

Syntaks:

kill pid>

drepe -s Alternativ

Dette alternativet spesifiserer signalet som skal sendes til prosessen.

Syntaks:

kill -signal pid>

kill Command i Linux -FAQs

Hvordan drepe en prosess fra Linux-kommandolinjen?

For å drepe en prosess fra Linux-kommandolinjen, kan du brukekill>kommando etterfulgt av prosess-ID (PID) for målprosessen. For eksempel, for å avslutte en prosess med PID 1234, bruker du følgende kommando:

velg sql fra flere tabeller
kill 1234>

Som standard erkill>kommandoen sender SIGTERM-signalet, slik at prosessen kan utføre oppryddingsoperasjoner før avslutning. Hvis prosessen ikke reagerer på SIGTERM eller hvis umiddelbar avslutning er nødvendig, kan du bruke SIGKILL-signalet med-9>alternativ:

kill -9 1234>

Det er viktig å merke seg at tvangsavslutning av en prosess med SIGKILL kan føre til tap av data eller korrupsjon, så det anbefales å prøve SIGTERM først og kun ty til SIGKILL hvis det er nødvendig.

Hvordan drepe flere prosesser samtidig?

Vi kan bruke kill-kommando for å drepe flere prosesser samtidig. Vi trenger bare å spesifisere flere PID-er atskilt med mellomrom, eller vi kan også bruke 'killall'-kommandoen for å drepe alle prosessene med et spesifikt navn.

For eksempel:

Hvis vi ønsker å drepe prosesser PID-er som 1234, 4321 og 2342, kan vi bruke følgende kommando:

kill 1234 4321 2342>

Hvis vi ønsker å drepe alle prosessene med navnet firefox. Vi kan bruke følgende kommando.

killall firefox>

Er det trygt å drepe systemprosessene?

Nei, det er viktig å merke seg at bare drepeprosesser som vi vet er trygge å drepe og drepe systemprosesser kan forårsake systemustabilitet. Det er alltid bedre å bruke andre metoder som å starte systemet på nytt eller identifisere årsaken til problemet og fikse det.

Hva er forskjellen mellom SIGTERM og SIGKILL i `kill`-kommandoen i Linux?

SIGTERM, den sender et avslutningssignal til prosessen som hjelper deg med å avslutte elegant. Mens SIGKILL sender et drepesignal til prosessen, som avslutter prosessene kraftig og umiddelbart.

For eksempel:

For å sende signalet `SIGTERM` og PID `4321`, kan vi bruke følgende kommando.

kill -15 4321>

For å sende signalet `SIGKILL` og PID `4321`, kan vi bruke følgende kommando.

kill -9 4321>

Hvordan kan jeg finne prosess-ID (PID) til et spesifikt program i Linux?

For å finne PID-en til et spesifikt program, kan du brukepgrep>kommando etterfulgt av programmets navn. For å finne PID-en til firefox-prosessen, skriver du inn:

pgrep firefox>

Hva er hensikten medpkill>kommandoen, og hvordan skiller den seg frakill>kommando?

Depkill>kommandoen brukes til å sende signaler til prosesser basert på navnet deres, noe som gir en mer praktisk måte å avslutte prosesser på. Det skiller seg frakill>kommando ved å la brukere spesifisere prosesser etter navn i stedet for PID.

if else statement java

Hvordan kan jeg sjekke ressursbruken (CPU, minne) til en bestemt prosess i Linux?

For å sjekke ressursbruken til en bestemt prosess, kan du bruketop>kommando sammen med prosess-ID (PID). For å overvåke ressursbruken til en prosess med PID 1234, kjører du for eksempel:

top -p 1234>

Konklusjon

`kill`-kommandoen i Linux er et veldig kraftig verktøy for å administrere prosesser. Vi har forstått de forskjellige måtene å spesifisere signalene og tilgjengelige alternativer i kill-kommandoen som kan hjelpe oss med å administrere systemressursene våre effektivt og løse problemer raskt og effektivt.