W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
發(fā)送信號(hào)到進(jìn)程
kill [-s sigspec | -n signum | -sigspec] pid | jobspec ...
kill -l [sigspec]
-s sig 信號(hào)名稱(chēng)。
-n sig 信號(hào)名稱(chēng)對(duì)應(yīng)的數(shù)字。
-l 列出信號(hào)名稱(chēng)。如果在該選項(xiàng)后提供了數(shù)字那么假設(shè)它是信號(hào)名稱(chēng)對(duì)應(yīng)的數(shù)字。
-L 等價(jià)于-l選項(xiàng)。
pid:進(jìn)程ID
jobspec:作業(yè)標(biāo)識(shí)符
返回狀態(tài)為成功除非給出了非法選項(xiàng)、執(zhí)行出現(xiàn)錯(cuò)誤。
[user2@pc] kill -l 9
KILL
# 列出所有信號(hào)名稱(chēng):
[user2@pc] kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN
35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
# 下面是常用的信號(hào)。
# 只有第9種信號(hào)(SIGKILL)才可以無(wú)條件終止進(jìn)程,其他信號(hào)進(jìn)程都有權(quán)利忽略。
HUP 1 終端掛斷
INT 2 中斷(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
KILL 9 強(qiáng)制終止
TERM 15 終止
CONT 18 繼續(xù)(與STOP相反,fg/bg命令)
STOP 19 暫停(同 Ctrl + Z)
# 以下發(fā)送KILL信號(hào)的形式等價(jià)。當(dāng)然還有更多的等價(jià)形式,在此不一一列舉了。
[user2@pc] kill -s SIGKILL PID
[user2@pc] kill -s KILL PID
[user2@pc] kill -n 9 PID
[user2@pc] kill -9 PID
[user2@pc] sleep 90 &
[1] 178420
# 終止作業(yè)標(biāo)識(shí)符為1的作業(yè)。
[user2@pc] kill -9 %1
[user2@pc] jobs -l
[1]+ 178420 KILLED ssh 192.168.1.4
[user2@pc] sleep 90 &
[1] 181357
# 發(fā)送停止信號(hào)。
[user2@pc] kill -s STOP 181357
[user2@pc] jobs -l
[1]+ 181537 Stopped (signal) sleep 90
# 發(fā)送繼續(xù)信號(hào)。
[user2@pc] kill -s CONT 181357
[user2@pc] jobs -l
[1]+ 181537 Running sleep 90 &
kill [-signal|-s signal|-p] [-q value] [-a] [--] pid|name...
kill -l [number] | -L
-s, --signal signal 要發(fā)送的信號(hào),可能是信號(hào)名稱(chēng)或信號(hào)對(duì)應(yīng)的數(shù)字。
-l, --list [number] 打印信號(hào)名稱(chēng)或轉(zhuǎn)換給定數(shù)字到信號(hào)名稱(chēng)。信號(hào)名稱(chēng)可參考文件(/usr/include/linux/signal.h)。
-L, --table 和'-l'選項(xiàng)類(lèi)似,但是輸出信號(hào)名稱(chēng)以及信號(hào)對(duì)應(yīng)的數(shù)字。
-a, --all 不要限制“命令名到pid”的轉(zhuǎn)換為具有與當(dāng)前進(jìn)程相同的UID的進(jìn)程。
-p, --pid 打印目標(biāo)進(jìn)程的PID而不發(fā)送信號(hào)。
--verbose 打印信號(hào)以及接收信號(hào)的PID。
-q, --queue value 使用sigqueue(3)而不是kill(2)。參數(shù)value是信號(hào)對(duì)應(yīng)的數(shù)字。
如果接收進(jìn)程已為此信號(hào)安裝了處理程序?qū)A_SIGINFO標(biāo)記為sigaction(2),則可以獲取
該數(shù)據(jù)通過(guò)siginfo_t結(jié)構(gòu)的si_sigval字段。
--help 顯示幫助信息并退出。
--version 顯示版本信息并退出。
接收信號(hào)的進(jìn)程列表可以是PID以及name的混合組成。
PID:每一個(gè)PID可以是以下四種情況之一:
狀態(tài) | 說(shuō)明 |
---|---|
n | 當(dāng)n大于0時(shí),PID為n的進(jìn)程接收信號(hào)。 |
0 | 當(dāng)前進(jìn)程組中的所有進(jìn)程均接收信號(hào)。 |
-1 | PID大于1的所有進(jìn)程均接收信號(hào)。 |
-n | 當(dāng)n大于1時(shí),進(jìn)程組n中的所有進(jìn)程接收信號(hào)。當(dāng)給出了一個(gè)參數(shù)的形式為“-n”,想要讓它表示一個(gè)進(jìn)程組,那么必須首先指定一個(gè)信號(hào),或參數(shù)前必須有一個(gè)“--”選項(xiàng),否則它將被視為發(fā)送的信號(hào)。 |
name:使用此名稱(chēng)調(diào)用的所有進(jìn)程將接收信號(hào)。
> sleep 20 &
# 列出對(duì)應(yīng)的PID。
> kill -p sleep
23021
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: