linux 查看进程的信号,Linux 进程信号查看与控制
Linux 進程信號查看與控制
1) SIGHUP 本信號在用戶終端連接 (正常或非正常) 結束時發出
通常是在終端的控制進程結束時
通知同一 session 內的各個作業
這時它們與控制終端不再關聯
?
2) SIGINT 程序終止 (interrupt) 信號
在用戶鍵入 INTR 字符 (通常是 Ctrl-C) 時發出
?
3) SIGQUIT 和 SIGINT 類似
但由 QUIT 字符 (通常是 Ctrl-) 來控制
進程在因收到 SIGQUIT 退出時會產生 core 文件
在這個意義上類似于一個程序錯誤信號
?
4) SIGILL 執行了非法指令
通常是因為可執行文件本身出現錯誤或者試圖執行數據段
堆棧溢出時也有可能產生這個信號
?
5) SIGTRAP 由斷點指令或其它 trap 指令產生
由 debugger 使用
?
6) SIGABRT 程序自己發現錯誤并調用 abort 時產生.
SIGIOT 在 PDP-11 上由 iot 指令產生在其它機器上和 SIGABRT 一樣
?
7) SIGBUS 非法地址
包括內存地址對齊 (alignment) 出錯
eg: 訪問一個四個字長的整數但其地址不是 4 的倍數
?
8) SIGFPE 在發生致命的算術運算錯誤時發出
不僅包括浮點運算錯誤, 還包括溢出及除數為 0 等其它所有的算術的錯誤
?
9) SIGKILL 用來立即結束程序的運行. 本信號不能被阻塞, 處理和忽略
?
10) SIGUSR1 留給用戶使用
?
11) SIGSEGV 試圖訪問未分配給自己的內存, 或試圖往沒有寫權限的內存地址寫數據
?
12) SIGUSR2 留給用戶使用
?
13)SIGPIPE Broken pipe 管道破裂, 這個信號通常在進程間通信
產生讀管道沒打開或者意外終止就往管道寫, 寫進程會收到 SIGPIPE 信號
此外用 Socket 通信的兩個進程, 寫進程在寫 Socket 的時候, 讀進程已經終止
?
14) SIGALRM 時鐘定時信號
計算的是實際的時間或時鐘時間, alarm 函數使用該信號
?
15) SIGTERM 程序結束 (terminate) 信號
與 SIGKILL 不同的是該信號可以被阻塞和處理
通常用來要求程序自己正常退出
shell 命令 kill 缺省產生這個信號
?
17) SIGCHLD 子進程結束時, 父進程會收到這個信號
?
18) SIGCONT 讓一個停止 (stopped) 的進程繼續執行. 本信號不能被阻塞.
可以用一個 handler 來讓程序在由 stopped 狀態變為繼續執行時完成特定的工作
例如, 重新顯示提示符
?
19) SIGSTOP 停止 (stopped) 進程的執行
注意它和 terminate 以及 interrupt 的區別:
該進程還未結束, 只是暫停執行. 本信號不能被阻塞, 處理或忽略
?
20) SIGTSTP 停止進程的運行
但該信號可以被處理和忽略
用戶鍵入 SUSP 字符時
(通常是 Ctrl-Z)發出這個信號
?
21) SIGTTIN 當后臺作業要從用戶終端讀數據時,
該作業中的所有進程會收到 SIGTTIN 信號
缺省時這些進程會停止執行
?
22) SIGTTOU 類似于 SIGTTIN, 但在寫終端 (或修改終端模式) 時收到
?
23) SIGURG 有 "緊急" 數據或 out-of-band 數據到達 socket 時產生
?
24) SIGXCPU 超過 CPU 時間資源限制
這個限制可以由 getrlimit/setrlimit 來讀取 / 改變
?
25) SIGXFSZ 超過文件大小資源限制
?
26) SIGVTALRM 虛擬時鐘信號. 類似于 SIGALRM, 但是計算的是該進程占用的 CPU 時間
?
27) SIGPROF 類似于 SIGALRM/SIGVTALRM
但包括該進程用的 CPU 時間以及系統調用的時間
?
28) SIGWINCH 窗口大小改變時發出
?
29) SIGIO 文件描述符準備就緒, 可以開始進行輸入 / 輸出操作?
30)SIGPWRPowerfailure
有兩個信號可以停止進程: SIGTERM 和 SIGKILL
給某個進程 id 發送了一個信號. 默認發送的信號是 SIGTERM, 而 kill -9 發送的信號是 SIGKILL 不會被系統阻塞, 所以 kill -9 能順利殺掉進程
來源: http://www.bubuko.com/infodetail-3128652.html
總結
以上是生活随笔為你收集整理的linux 查看进程的信号,Linux 进程信号查看与控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四则运算计算器c语言switch,设计一
- 下一篇: linux重新启动某一个项目,Linux