您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Linux的kill命令怎么使用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
發(fā)送信號到進(jìn)程。
kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... kill -l [sigspec]
發(fā)送信號到作業(yè)或進(jìn)程(可以為多個)。
列出信號。
-s sig 信號名稱。 -n sig 信號名稱對應(yīng)的數(shù)字。 -l 列出信號名稱。如果在該選項后提供了數(shù)字那么假設(shè)它是信號名稱對應(yīng)的數(shù)字。 -L 等價于-l選項。
pid:進(jìn)程ID
jobspec:作業(yè)標(biāo)識符
返回狀態(tài)為成功除非給出了非法選項、執(zhí)行出現(xiàn)錯誤。
[user2@pc] kill -l 9 KILL # 列出所有信號名稱: [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 # 下面是常用的信號。 # 只有第9種信號(SIGKILL)才可以無條件終止進(jìn)程,其他信號進(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信號的形式等價。當(dāng)然還有更多的等價形式,在此不一一列舉了。 [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)識符為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ā)送停止信號。 [user2@pc] kill -s STOP 181357 [user2@pc] jobs -l [1]+ 181537 Stopped (signal) sleep 90 # 發(fā)送繼續(xù)信號。 [user2@pc] kill -s CONT 181357 [user2@pc] jobs -l [1]+ 181537 Running sleep 90 &
bash的作業(yè)控制命令包括bg fg kill wait disown suspend。
該命令是bash內(nèi)建命令,相關(guān)的幫助信息請查看help命令。
kill [-signal|-s signal|-p] [-q value] [-a] [--] pid|name... kill -l [number] | -L
發(fā)送信號到進(jìn)程(可以為多個)。
列出信號。
-s, --signal signal 要發(fā)送的信號,可能是信號名稱或信號對應(yīng)的數(shù)字。 -l, --list [number] 打印信號名稱或轉(zhuǎn)換給定數(shù)字到信號名稱。信號名稱可參考文件(/usr/include/linux/signal.h)。 -L, --table 和'-l'選項類似,但是輸出信號名稱以及信號對應(yīng)的數(shù)字。 -a, --all 不要限制“命令名到pid”的轉(zhuǎn)換為具有與當(dāng)前進(jìn)程相同的UID的進(jìn)程。 -p, --pid 打印目標(biāo)進(jìn)程的PID而不發(fā)送信號。 --verbose 打印信號以及接收信號的PID。 -q, --queue value 使用sigqueue(3)而不是kill(2)。參數(shù)value是信號對應(yīng)的數(shù)字。 如果接收進(jìn)程已為此信號安裝了處理程序?qū)A_SIGINFO標(biāo)記為sigaction(2),則可以獲取 該數(shù)據(jù)通過siginfo_t結(jié)構(gòu)的si_sigval字段。 --help 顯示幫助信息并退出。 --version 顯示版本信息并退出。
接收信號的進(jìn)程列表可以是PID以及name的混合組成。
PID:每一個PID可以是以下四種情況之一:
狀態(tài) | 說明 |
---|---|
n | 當(dāng)n大于0時,PID為n的進(jìn)程接收信號。 |
0 | 當(dāng)前進(jìn)程組中的所有進(jìn)程均接收信號。 |
-1 | PID大于1的所有進(jìn)程均接收信號。 |
-n | 當(dāng)n大于1時,進(jìn)程組n中的所有進(jìn)程接收信號。當(dāng)給出了一個參數(shù)的形式為“-n”,想要讓它表示一個進(jìn)程組,那么必須首先指定一個信號,或參數(shù)前必須有一個“–”選項,否則它將被視為發(fā)送的信號。 |
name:使用此名稱調(diào)用的所有進(jìn)程將接收信號。
> sleep 20 & # 列出對應(yīng)的PID。 > kill -p sleep 23021
0 成功。
1 失敗。
64 部分成功(當(dāng)指定了多個進(jìn)程時)。
該命令是GNU coreutils包中的命令,相關(guān)的幫助信息請查看man -s 1 kill或info coreutils 'kill invocation'。
啟動或關(guān)閉內(nèi)建命令請查看enable命令,關(guān)于同名優(yōu)先級的問題請查看builtin命令的例子部分的相關(guān)討論。
與kill命令類似的有xkill,pkill,killall等,用于不同的目的和場景。
“Linux的kill命令怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。