linux進程信號查看與控制

kill 發送信號將其終止
kill命令格式:
kill -Signal pid
signal是發送給進程的信號
pid是進程號,能夠用 ps 命令查出linux

kill -信號 進程pid
強制殺死進程9396
linux進程信號查看與控制
killall -信號 進程名字
使用進程名一次性殺死全部指定進程
linux進程信號查看與控制
pkill -u user -信號
開啓兩個終端,一個切換用戶tom,另外一個使用查看進程命令ps指定用戶名和PID,經過管道符抓取tom相關進程,指定用戶名將其進程殺掉
linux進程信號查看與控制shell

kill -l 查看系統中定義的信號列表
linux進程信號查看與控制
man 7 signal 查看信號詳細信息
linux進程信號查看與控制
linux進程信號查看與控制緩存

經常使用信號等級session

1 HUP 進程從新加載配置 socket

2 INT 刪除進程在內存中的數據 (同 Ctrl + C)ide

3 QUIT 刪除鼠標在內存中的數據 (同 Ctrl + )函數

9 KILL 強行結束單個進程(不能被阻塞) debug

15 TERM 正常關閉進程 (可能會被阻塞) 3d

18 CONT 運行暫停的進程 18 (與STOP相反, fg/bg命令)code

19 STOP 暫停某個進程 (不能被阻塞) (同 Ctrl + Z)

20 TSTP 把進程打入後臺 (能夠被阻塞)


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) SIGPWR Power failure

有兩個信號能夠中止進程:SIGTERM和SIGKILL
給某個進程id發送了一個信號。默認發送的信號是SIGTERM,而kill -9發送的信號是SIGKILL不會被系統阻塞,因此kill -9能順利殺掉進程


top 進程的動態監控
linux進程信號查看與控制
1 顯示cpu每一個核的負載
linux進程信號查看與控制
s 調整刷新頻率
linux進程信號查看與控制
c CPU負載排序
linux進程信號查看與控制
m 內存使用量排序
linux進程信號查看與控制
h 查看幫助
linux進程信號查看與控制
u 查看指定用戶進程
linux進程信號查看與控制
k 對指定進程發起信號
linux進程信號查看與控制linux進程信號查看與控制
q 退出

linux進程信號查看與控制

tasks(系統任務)信息:
linux進程信號查看與控制

total 總進程數

running 正在運行的進程數
sleeping 休眠的進程數
stopped 停止的進程數
zombie 僵死無響應的進程數


CPU信息:

linux進程信號查看與控制

us 用戶佔用;
sy 內核佔用;
ni 優先級調度佔用;
id 空閒CPU;
wa I/O等待佔用;
hi 硬件中斷佔用;
si 軟件中斷佔用;
st 虛擬化佔用。瞭解空閒的CPU百分比,主要看%id部分。

Mem(內存)信息:
linux進程信號查看與控制

total,總內存空間
used,已用內存
free,空閒內存
buffers,緩存區域

Swap(交換空間)信息:
linux進程信號查看與控制

total 總交換空間used 已用交換空間free 空閒交換空間cached 緩存空間

相關文章
相關標籤/搜索