Linux系統上的進程查看及管理工具:pstree,ps,pidof,pgrep,top,htop,glances,pmap,vmstat,dstat,kill,pkill,job,bg,fg,nohup,nice,renice,killall,…
CentOS 5 :SysV init
CentOS 6 :upstart
CentOS 7 :systemd
pstree命令:
pstree – display a tree of processes
ps命令:
通過/proc/端口: 內核中的狀態信息;
內核參數:
可設置其值從而調整內核運行特性的參數;
狀態變量:其用于輸出內核中通緝信息或狀態信息,僅用于查看;
參數:模擬成文件系統類型;
進程:
/proc/#:
#:PID
ps – report a snapshot of the current processes
ps[options]:
選項有三種風格:
1.UNIX options, which may be grouped and must be preceded by a dash.
2.BSD options, which may be grouped and must not be used with a dash.
3.GNU long options, which are preceded by two dashes.
啟動進程的方式:
系統啟動過程中自動啟動:與終端無關的進程;
用戶通過終端啟動:與終端相關的進程;
選項:
a:所有與終端相關的進程;(不是-a)
x:所有與終端無關的進程;
u:以用戶為中心組織進程狀態信息顯示;
常用組合之一:aux
VSZ:占用的虛擬內存集;
RSS:Resident Size,常駐內存集;
STAT:
R:running
S:Interruptable sleeping
D:uninterruptable sleeping
T:Stopped
Z:zomble
+:前臺進程
l:多線程進程
N:低優先級進程
<:高優先級進程
s:session leader
-e:顯示所有進程
-f:顯示完整格式的進程信息
常用組合之二:-ef
-F:顯示完整格式的進程信息;
C:cpu運行占用百分比
PSR:運行于哪顆CPU之上
-H:以層級結構顯示進程的相關信息;
常用組合之三:-eFH
常用組合之四:-餓eo,axo
o field1,field2:自定義要顯示的字段列表,以逗號分隔;
常用的field:pid,ni,pri,psr,pcpu,stat,comm,tty,ppid,rtprio
ni:nice值;(范圍-10 — +19)
pri:priority,優先級;
rtprio:實時優先級;
pgrep,pkill命令:
根據進程名字和其他屬性對進程過濾的專用命令
pgrep [options] pattern
-u uid:effective user
-U uid:read user
-t TERMINAL :與指定的終端相關的進程;
-l:顯示進程名;
-a:顯示完整格式的進程名;
-P pid:顯示此進程的子進程;
pidof命令:
根據進程名獲取其PID;
top命令;
排序:
P:以占據CPU百分比排序;
M:已以占據內存百分比排序;
T:累計占用CPU時間排序;
首部信息:
uptime信息: l命令
tasks及cpu信息:t命令
內存信息:m命令
退出命令:q
修改刷新時間間隔:s
終止指定的進程:k
選項:
-d#:指定刷新時間間隔,默認為3秒;
-b:以批次方式顯示;
-n#:顯示多少批次;
uptime命令:顯示系統時間、運行時長及平均負載;
過去1分鐘、5分鐘和15分鐘的平均負載;
等待運行的進程隊列的長度;
Linux進程及作業管理
htop命令:
選項:
-d#:指定延遲時間間隔;
-u UserName:僅顯示指定用戶的進程;
-s COLUME:以指定字段進行排序;
子命令:
l:顯示選定的進程打開的文件列表;
s:跟蹤選定的進程的系統調用;
t:以層級關系顯示各進程狀態;
a:將選定的進程綁定至某指定的CPU核心;
vmstat命令:
-Report virtual memory statistics
vmstat [options][delay][count]
procs:
r:等待運行的進程的個數;CPU上等待運行的任務的隊列長度;
b:處于不可中斷睡眠態的進程個數;被阻塞的任務隊列的長度;
memory:
swpd:交換內存的使用總量;
free:空閑的物理內存總量;
buffer:用于buffer的內在總量;
cache:用于cache的內存總量;
swap:
si:數據進入swap中的數據速率(kb/s)
so:數據離開swap的速率(kb/s)
io:
bl:從塊設備讀入數據到系統的速度(kb/s)
bo:保存數據至塊設備的速率(kb/s)
system:
in:interrupts,中斷速率;
cs:context switch,上下文切換的速率;
cpu:
us:user space
sy:system
id:idle
wa:wait
st:stolen
選項:
-s:顯示內存統計數據;
pmap命令:
– report memory map of a process
pmap [options] pid […]
-x:顯示詳細格式的信息;
另一種查看方式:cat /proc/PID/maps
glances命令:
內建命令:
常用選項:
-b:以Byte為單位顯示網上數據速率;
-d:關閉磁盤I/O模塊;
-m:關閉mount模塊;
-n:關閉network模塊;
-t#:刷新時間間隔;
-l:每個cpu的相關數據單獨顯示;
-o{HTML|CSV}:輸出格式;
-f /PATH/TO/SOMEDIR:設定輸出文件的位置
c/s模式下運行glances命令:
服務模式:
glances -s -B IPADDR
IPADDR:本機的莫地址,用于監聽;
客戶端模式:
glances -c IPADDR
IPADDR:是遠程服務器的地址;
dstat命令:
– versatile tool for generating system resource statistics
dstat [-afv][options..][delay[count]]
常用選項:
-c,-cpu:顯示CPU相關信息
-C#,#,..,total
-d,–disk:顯示磁盤的相關信息
-D sda,sdb,..,tobal
-g:顯示page相關的速率數據;
-m:Memory的相關數據;
-n:Interface的相關統計數據;
-p:顯示process的相關統計數據;
-r:顯示io請求的相關的統計數據;
-s:顯示swapped的相關統計數據;
–tcp
–udp
–raw
–socket
–ipc
–top-cpu:顯示最占用CPU的進程;
–top-io:最占用io的進程;
–top-mem:最占用內存的進程;
–top-lantency:延遲最大的進程;
kill命令:
用于向進程發送信號,以實現對進程的管理;
顯示當前系統可用信號:
kill -l [signal]
每個信號的表示方法有三種:
1)信號的數字標識;
2)信號的完整標識;
3)信號的簡寫名稱;
向進程發信號:
kill [-s signal | -p] pid…
常用信號:
1)SIGHUP:無須關閉進程而讓其重讀配置文件;
2)SIGINT:中止正在運行的進程,相當于Ctrl+c
9)SIGKILL:殺死運行中的進程;
15)SIGTERM:終止正在運行中的進程;(通常是后臺進程)
18)SIGCONT:繼續
19)SIGSTOP:停止
killall命令:
killall [-SIGNAL] program
原創文章,作者:木,如若轉載,請注明出處:http://www.www58058.com/75069