kill(1p)
kill(1p)
NAMN
kill — terminera eller signalera processer
SYNOPSIS
kill -s signal_namn pid... kill -l [exit_status] kill [-signal_namn] pid... kill [-signal_nummer] pid...
BESKRIVNING
Verktyget kill ska skicka en signal till den eller de processer som anges av varje pid-operand.
För varje pid-operand ska kill utföra åtgärder som motsvarar funktionen kill() (se POSIX.1-2017, System Interfaces), anropad med:
- pid-argumentet satt till operandens värde.
- sig-argumentet satt enligt flaggan -s, -signal_nummer eller -signal_namn, eller SIGTERM om ingen av dessa angavs.
FLAGGOR
| Flagga | Beskrivning |
|---|---|
| -l | (litet L) Om ingen operand ges: skriv alla signalnamn som stöds av implementationen.
Om exit_status ges och motsvarar värdet i skalparametern ? (se 2.5.2, Special Parameters och wait(1p)) för en process som terminerats av en signal, skriv signalnamnet för den signalen. Om exit_status är ett heltal som motsvarar ett signalnummer, skriv signalnamnet (utan prefixet SIG). Annars är resultatet ospecificerat. |
| -s signal_namn | Ange vilken signal som ska skickas, med något av de symboliska namn som definieras i <signal.h>. Namn känns igen utan prefixet SIG och är skiftlägesoberoende. Det symboliska namnet 0 representerar signalvärde 0. Denna signal skickas istället för SIGTERM. |
| -signal_namn | Ekvivalent med -s signal_namn. |
| -signal_nummer | Ange ett icke-negativt heltal som representerar signalen som ska skickas istället för SIGTERM. Andra värden än de i listan nedan är odefinierade. |
Tillåtna standardnummer (exempel):
| Nummer | Signal |
|---|---|
| 0 | 0 |
| 1 | SIGHUP |
| 2 | SIGINT |
| 3 | SIGQUIT |
| 6 | SIGABRT |
| 9 | SIGKILL |
| 14 | SIGALRM |
| 15 | SIGTERM |
Obs: Om det första argumentet är ett negativt heltal tolkas det som flaggan -signal_nummer, inte som ett negativt pid (processgrupp). Använd -- före en negativ pid-operand för att undvika tvetydighet.
OPERANDER
pid
- Ett av följande:
1. Ett decimalt heltal som anger en process eller processgrupp som ska signaleras. Val av process(er) för positiva, negativa respektive nollvärden följer kill() i System Interfaces. pid 0 betyder alla processer i aktuell processgrupp. För negativa pid, se kill(). Om den första pid-operanden är negativ bör -- föregå den så att den inte tolkas som en flagga. 2. Ett jobbstyrnings-ID (se POSIX.1-2017, avsnitt 3.204, Job Control Job ID) som identifierar en bakgrundsprocessgrupp. Gäller endast i det aktuella skalets exekveringsmiljö (se 2.12, Shell Execution Environment).
exit_status
- Ett decimalt heltal som anger ett signalnummer eller exitstatus från en process som terminerats av en signal.
STDIN
Inte använt.
INDATAFILER
Inga.
MILJÖVARIABLER
Följande variabler påverkar körningen av kill: LANG – standardvärde för internationaliseringsvariabler som är osatta eller tomma. LC_ALL – åsidosätter alla andra internationaliseringsvariabler om satt. LC_CTYPE – tolkning av teckensekvenser. LC_MESSAGES – format/innehåll för diagnostiska meddelanden. NLSPATH – plats för meddelandekataloger för LC_MESSAGES.
ASYNKRONA HÄNDELSER
Standard.
STDOUT
När -l inte anges: standard ut används inte.
När -l anges: skriv varje signalnamn i formatet
%s%c
där signalnamnet är versaler utan prefixet SIG och %c är antingen blanksteg eller nyrad. Sista posten avslutas med nyrad.
När -l och exit_status anges: skriv
%s\n
STDERR
Används endast för diagnostiska meddelanden.
UTGÅNGSFILER
Inga.
UTÖKAD BESKRIVNING
Ingen.
SLUTSTATUS
Följande returvärden används:
0
- Minst en matchande process hittades för varje pid-operand, och signalen hanterades framgångsrikt för minst en matchande process.
>0
- Ett fel inträffade.
FELSITUATIONER
Standard.
Följande avsnitt är informativa.
ANVÄNDNING
Processnummer kan erhållas med ps(1p).
Jobbstyrnings-ID fungerar inte som väntat när kill körs i sin egen verktygsmiljö, t.ex.:
nohup kill %1 &
system("kill %1");
I dessa fall delar inte kill skalets syn på jobbnumerering.
EXEMPEL
Något av följande kommando:
kill -9 100 -165 kill -s kill 100 -165 kill -s KILL 100 -165
skickar SIGKILL till processen med PID 100 och till alla processer vars processgrupps-ID är 165 (förutsatt att sändande process har behörighet och att målen existerar).
Signalsiffror är inte standardiserade mellan system. Om en process termineras av en signal indikerar exitstatus vilken signal som dödade den, men exakta värden är ospecificerade. Flaggan -l kan användas för att mappa heltalsvärden till signalnamn. Exempel:
job
stat=$?
if [ $stat -eq 0 ]; then
echo "job slutfördes utan fel."
elif [ $stat -gt 128 ]; then
echo "job terminerades av signal SIG$(kill -l $stat)."
else
echo "job terminerades med felkod $stat."
fi
Att skicka standardsignalen (SIGTERM) till en processgrupp (t.ex. 123):
kill -TERM -123 kill -- -123
MOTIVERING
Flaggan -l kommer från C-shell och finns även i KornShell. Historiskt har utskriften kunnat vara flerradig. Det specificerade formatet medger både vertikala och horisontella listor.
Namnet SIGNULL för signal 0 togs bort; signalnamnet 0 räcker.
Krav på att känna igen signalnamn både med och utan prefixet SIG togs bort för portabilitetens skull. Historiska kill har varken skrivit eller accepterat SIG-prefix för -l-utdata resp. signalnamn.
För att undvika tvetydighet när första argumentet är ett negativt tal (signalnummer vs. processgrupp) ska implementationer tolka det som signalnummer; portabla skript ska använda -- när de anger en negativ processgrupp, om ingen annan flagga används.
Flaggan -s lades till för att uppfylla Utility Syntax Guidelines.
Jobbstyrnings-ID fungerar inte som väntat när kill körs i en separat verktygsmiljö (se exemplen ovan).
FRAMTIDA RIKTNINGAR
Inga.
SE ÄVEN
ps(1p), wait(1p), jobs(1p), bg(1p), fg(1p), kapitel 2 Shell Command Language. Grunddefinitioner i POSIX.1-2017: avsnitt 3.204 Job Control Job ID, kapitel 8 Environment Variables, avsnitt 12.2 Utility Syntax Guidelines, signal.h(0p). Systemgränssnitt: kill(3p).
COPYRIGHT
Delar av denna text är återgiven från IEEE Std 1003.1-2017, Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition. Copyright © 2018 IEEE och The Open Group.
Vid skillnader gäller originalstandarden som auktoritativ. Den kan hämtas på: http://www.opengroup.org/unix/online.html
Sidslut
Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man1/kill.1p.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.