logo

Sådan dræber du en proces i Linux | Dræb kommando

kill-kommando i Linux (placeret i /bin/kill), er en indbygget kommando, som bruges til at afslutte processer manuelt. dræbe kommando sender et signal til en proces, der afslutter processen. Hvis brugeren ikke angiver noget signal, der skal sendes sammen med kill-kommandoen, er det en standard SEMESTER der sendes et signal, der afslutter processen.

Grundlæggende syntaks for kill-kommando i Linux

Den grundlæggende syntaks for 'kill'-kommandoen er som følger:



Syntaks:

kill [signal] PID>

Her,

lambda funktion java
  • PID = `kill`-kommandoen kræver proces-id'et (PID) for den proces, vi ønsker at afslutte.
  • [signal] = Vi er nødt til at specificere signalet, og hvis vi ikke specificerer signalet, er standardsignalet ` TERM` sendes for at afslutte processen

Signaler kan specificeres på tre måder:

Signaler kan specificeres på tre måder; de er som følger:



1. Efter nummer:

Vi kan angive et signal ved hjælp af et tal. For eksempel har vi en PID ` 1212 ` og ønsker at sende et `SIGKILL`-signal for at dræbe denne PID. SIGKILL har et signalnummer på ` 9 ` (For at finde signalnumre skal du køre kommandoen `kill -l`).

Syntaks:

kill -9 1212>

2. Med SIG-præfiks (f.eks./-SIGkill)

Vi kan også angive signal ved hjælp af SIG-præfiks. For eksempel skal vi sende et signal ` SIGTERM ` og PID er ` 1432 `. For blot at kontrollere signalnummeret for `SIGTERM`-signalet kan vi bruge kommandoen `kill -l`.



Syntaks:

kill -SIGTERM 1432>

3. Uden SIG-præfiks:

Vi kan også specificere signaler uden at bruge SIG-præfiks. For eksempel, hvis ønsker at sende signal ` TERM` og PID ` 1234 `. For blot at kontrollere signalnummeret for `TERM`-signalet kan vi bruge kommandoen `kill -l`.

Syntaks:

kill -TERM 1234>

Nogle almindelige signaler i kill Command

Tabellen nedenfor viser nogle almindelige signaler og deres tilsvarende tal.

Signal navn Signalnummer Beskrivelse
SIGHUP 1 Det afbrydes opdaget ved kontrol af terminaler eller død af kontrollerende proces.
SIGINT 2 Den afbryder fra tastaturet.
SIGKILL 9 Det dræber signal.
SIGTERM femten Det afslutter signalet.

For at kontrollere signalnavn og nummer kan vi bruge ` dræbe -l ` kommando.

Indstillinger og eksempler på kill Command i Linux

dræbe -l Mulighed

For at vise alle de tilgængelige signaler kan du bruge nedenstående kommandoindstilling:

Syntaks:

kill -l>

dræbe -l

Bemærk:

  • Negative PID-værdier bruges til at angive procesgruppe-id'et. Hvis du sender et procesgruppe-id, vil hele processen inden for den gruppe modtage signalet.
  • En PID på -1 er meget speciel, da den angiver alle processerne undtagen kill og init, som er moderprocessen for alle processer på systemet.
  • Brug kommandoen for at vise en liste over kørende processer ps og dette vil vise dig kørende processer med deres PID-nummer. For at specificere, hvilken proces der skal modtage kill-signalet, skal vi angive PID.

Syntaks:

ps>

ps

dræbe PID Mulighed

Denne indstilling angiver proces-id'et for den proces, der skal dræbes.

Syntaks:

kill pid>

dræbe -s Mulighed

Denne indstilling angiver det signal, der skal sendes til processen.

Syntaks:

kill -signal pid>

kill Command i Linux -Ofte stillede spørgsmål

Hvordan dræber man en proces fra Linux-kommandolinjen?

For at dræbe en proces fra Linux-kommandolinjen kan du brugekill>kommando efterfulgt af proces-id'et (PID) for målprocessen. For eksempel, for at afslutte en proces med PID 1234, skal du bruge følgende kommando:

sortering array i java
kill 1234>

Som standard erkill>kommandoen sender SIGTERM-signalet, hvilket tillader processen at udføre oprydningsoperationer før afslutning. Hvis processen ikke reagerer på SIGTERM, eller hvis øjeblikkelig afbrydelse er påkrævet, kan du bruge SIGKILL-signalet med-9>mulighed:

kill -9 1234>

Det er vigtigt at bemærke, at kraftig afslutning af en proces med SIGKILL kan resultere i datatab eller korruption, så det anbefales at prøve SIGTERM først og kun ty til SIGKILL, hvis det er nødvendigt.

Hvordan dræber man flere processer på én gang?

Vi kan bruge kill-kommando til at dræbe flere processer på én gang. Vi skal blot angive flere PID'er adskilt af mellemrum, eller vi kan også bruge kommandoen 'killall' til at dræbe alle processer med et specifikt navn.

For eksempel:

Hvis vi ønsker at dræbe processer PID'er som 1234, 4321 og 2342, kan vi bruge følgende kommando:

kill 1234 4321 2342>

Hvis vi ønsker at dræbe alle processer med navnet firefox. Vi kan bruge følgende kommando.

killall firefox>

Er det sikkert at dræbe systemprocesserne?

Nej, det er vigtigt at bemærke, at kun dræbe processer, som vi ved er sikre at dræbe og dræbe systemprocesser, kan forårsage systemustabilitet. Det er altid bedre at bruge andre metoder som at genstarte systemet eller identificere årsagen til problemet og rette det.

Hvad er forskellen mellem SIGTERM og SIGKILL i 'kill'-kommandoen i Linux?

SIGTERM, det sender et afslutningssignal til processen, som hjælper med at afslutte elegant. Hvorimod SIGKILL sender et kill-signal til processen, som afslutter processerne kraftigt og øjeblikkeligt.

For eksempel:

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

kill -15 4321>

For at sende signalet 'SIGKILL' og PID '4321' kan vi bruge følgende kommando.

kill -9 4321>

Hvordan kan jeg finde proces-id'et (PID) for et specifikt program i Linux?

For at finde PID'et for et specifikt program kan du brugepgrep>kommando efterfulgt af programmets navn. For at finde PID'et for firefox-processen skal du f.eks. indtaste:

pgrep firefox>

Hvad er formålet medpkill>kommando, og hvordan adskiller den sig frakill>kommando?

Detpkill>kommando bruges til at sende signaler til processer baseret på deres navn, hvilket giver en mere bekvem måde at afslutte processer på. Det adskiller sig frakill>kommando ved at tillade brugere at angive processer ved navn frem for PID.

forårsstøvle annotationer

Hvordan kan jeg kontrollere ressourceforbruget (CPU, hukommelse) for en specifik proces i Linux?

For at kontrollere ressourceforbruget af en bestemt proces, kan du brugetop>kommando sammen med proces-id (PID). For for eksempel at overvåge ressourceforbruget af en proces med PID 1234, vil du køre:

top -p 1234>

Konklusion

`kill`-kommandoen i Linux er et meget kraftfuldt værktøj til at styre processer. Vi har forstået de forskellige måder at specificere signalerne og tilgængelige muligheder i kill-kommandoen, som kan hjælpe os med at administrere vores systemressourcer effektivt og løse problemer hurtigt og effektivt.