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