kill(1): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '= kill(1) = == NAMN == kill — terminera en process == SYNOPSIS == <pre> kill [-signal | -s signal | -p] [-q värde] [-a] [--timeout millisekunder signal] [--] pid|namn... kill -l [nummer|0xmask] | -L kill -d pid </pre> == BESKRIVNING == Kommandot ''kill'' skickar den angivna signalen till de angivna processerna eller processgrupperna. Om ingen signal anges skickas signalen TERM. Standardåtgärden för denna signal är att terminera processen. TERM bör användas...')
 
(Ingen skillnad)

Nuvarande version från 29 augusti 2025 kl. 07.04

kill(1)

NAMN

kill — terminera en process

SYNOPSIS

kill [-signal | -s signal | -p] [-q värde] [-a] [--timeout millisekunder signal] [--] pid|namn...

kill -l [nummer|0xmask] | -L

kill -d pid

BESKRIVNING

Kommandot kill skickar den angivna signalen till de angivna processerna eller processgrupperna.

Om ingen signal anges skickas signalen TERM. Standardåtgärden för denna signal är att terminera processen. TERM bör användas istället för KILL (signalnummer 9), eftersom en process kan fånga TERM för att utföra städning innan den avslutas. KILL kan inte fångas och ger inte processen möjlighet att städa innan avslut.

De flesta moderna skal har ett inbyggt kill-kommando med liknande syntax. Flaggorna --all, --pid, --queue samt möjligheten att ange processer via namn är lokala tillägg.

Om signal = 0 anges skickas ingen signal, men felkontroll görs ändå.

ARGUMENT

En lista av processer som ska signaleras kan vara en blandning av namn och PID.

pid

Kan uttryckas på följande sätt:
 * n — där n > 0. Processen med PID n signaleras.  
 * 0 — alla processer i aktuell processgrupp signaleras.  
 * -1 — alla processer med PID > 1 signaleras.  
 * -n — där n > 1. Alla processer i processgruppen n signaleras. Om formatet -n används och det avser en processgrupp måste en signal anges först, eller argumentet föregås av --, annars tolkas det som ett signalnummer.

namn

Alla processer som startats med detta namn signaleras.

FLAGGOR

Flagga Beskrivning
-s, --signal signal Skicka angiven signal, namn eller nummer.
0xmask] Lista alla signalnamn, konvertera nummer till namn eller mask till namn. Signaldefinitioner finns i /usr/include/linux/signal.h.
-L, --table Lista signalnamn tillsammans med deras nummer.
-a, --all Begränsa inte namn-till-PID-konvertering till samma UID som den aktuella processen.
-p, --pid Skriv endast PID för de namngivna processerna, skicka ingen signal.
-r, --require-handler Skicka inte signalen om den inte fångas i användarutrymmet av processen.
--verbose Skriv ut PID:er som signaleras tillsammans med signalen.
-q, --queue värde Skicka signal med sigqueue(3) istället för kill(2). värde skickas med signalen och kan tas emot i si_sigval om processen använder SA_SIGINFO.
--timeout ms signal Skicka en signal och följ upp med ytterligare signal(er) efter angivet antal millisekunder. Säkerställer att uppföljningssignalen inte skickas till återanvänd PID. Kan kombineras med --queue och anges flera gånger.

Exempel:

kill --verbose --timeout 1000 TERM --timeout 1000 KILL \
     --signal QUIT 12345
-d, --show-process-state pid Avkoda signalrelaterade fält i /proc/pid/status.

Exempel:

$ kill -d $$
Blocked: INT
Ignored: TERM TSTP TTIN TTOU
Caught: HUP INT PIPE ALRM CHLD WINCH

SLUTSTATUS

kill returnerar följande värden:

0

Lyckades.

1

Misslyckades.

64

Partiell framgång (när flera processer angavs).

ANMÄRKNINGAR

Det är möjligt att ange TID (tråd-ID, se gettid(2)) för en tråd i en multitrådad process, men signalen riktas ändå till hela processen (trådgruppen). Signalen levereras till en godtyckligt vald tråd som inte blockerar signalen. Se signal(7) och clone(2).

Olika skal tillhandahåller egna inbyggda kill. För att vara säker på att man kör det fristående programmet, använd full sökväg, t.ex.:

/bin/kill --version

FÖRFATTARE

Salvatore Valente <svalente@mit.edu>, Karel Zak <kzak@redhat.com> Originalversionen togs från BSD 4.4.

SE ÄVEN

bash(1), tcsh(1), sigaction(2), kill(2), sigqueue(3), signal(7), proc(5), proc_pid_status(5)

FELRAPPORTERING

Felrapporter skickas via: https://github.com/util-linux/util-linux/issues

TILLGÄNGLIGHET

Kommandot kill ingår i paketet util-linux, som kan hämtas från: https://www.kernel.org/pub/linux/utils/util-linux/

Projektets kod finns på: git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git Manualsidans HTML-version genererades 2025-02-02.


Skillnader mellan kill(1p) (POSIX) och kill(1) (Linux/util-linux)

Flagga / Funktion kill(1p) (POSIX) kill(1) (Linux/util-linux)
Ingen flagga (standard) Skickar SIGTERM Skickar SIGTERM
-s signalnamn Ja Ja
-signalnamn Ja Ja
-signalnummer Ja Ja
-l Lista signalnamn eller konvertera status/nummer → namn Lista signalnamn, konvertera nummer eller mask → namn
-L Nej Ja (signalnamn + nummer i tabell)
-a / --all Nej Ja (även processer med annan UID)
-p / --pid Nej Ja (skriv bara ut PID, ingen signal)
-r / --require-handler Nej Ja (skicka endast om fångas i userspace)
-q / --queue värde Nej Ja (sigqueue(3), skicka med värde)
--timeout ms signal Nej Ja (skicka signaler i sekvens med tidsintervall)
-d / --show-process-state pid Nej Ja (visa signalstatus ur /proc)
Processnamn som operand Nej Ja (signalera processer efter namn)
Jobbstyrnings-ID (%n) Ja (om skalet stödjer) Nej (hanteras av skalets inbyggda kill)
Exitstatus 0, 1–126, 127 0 (lyckad), 1 (fel), 64 (delvis)


Sidslut

Orginalhemsidan på Engelska : https://man7.org/linux/man-pages/man1/kill.1.html Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.