第二十章、Linux進程管理
13_03_Linux進程管理之一
學習進程及作業管理
ppt : network.ppt
VSZ: +共享庫
RSS: resident size
Uninterruptible sleep: 不可中斷的睡眠
Interruptible sleep:可中斷睡眠
13_04_Linux進程管理之二
進制優先級(0-139)
0-99:內核調整的
100-139:用戶可控制
2.6內核選擇一個進程的時間複雜度是O(1)
O:算法的時間複雜度
O(1)
O(n)
O(logn)
O(n^2)
O(2^n)
ppt : netwoek.ppt
ps: Process State
SysV風格(Sys5):-
BSD風格:
ps - BSD風格
a: 所有與終端有關的進程
u: display user-oriented format
x: 所有與終端無關的進程
進程的分類:
跟終端相關的進程
跟終端無關的進程
進程狀態:
D:不可中斷的睡眠
R:運行或就緒
S:可中斷的睡眠
T:停止
Z:僵死
<:高優先級進程
N:低優先級進程
+:前臺進程組中的進程
l: 多線程進程
s: 會話進程首進程
加中括號的進程是內核進程。
ps - SysV風格
-e: all
-F: full format
-l: long format
-o: 指定顯示字段
常用
-elF
-ef
-eF
ps -o PROPERTY1,PROPERTY2
ps -o pid,comm,ni
pstree:顯示當前系統上的進程樹
pgrep: pgrep bash; pgrep -u root bash
pidof:根據程序名稱,查找其相關進程的ID號;
top:display Linux tasks
S字段:
<:高優先級的進程
N:低優先級的進程
l: 多線程進程
+:前臺進程組中的進程
s: 會話進程的領導者
top子命令:
M: 根據駐留內存大小進行排序
P:根據CPU使用百分比進行排序
T: 根據累計時間進行排序
l: 是否顯示平均負載和啓動時間
t: 是否顯示進程和CPU狀態相關信息
m: 是否顯示內存相關信息
c: 是否顯示完整的命令行信息
q: 退出top
k: 終止某個進程
top選項:
-d: 指定延遲時長,單位是秒
-b: 批模式
-n #:在批模式下,共顯示多少批
進程間通信(IPC: Inter Process Communication)
共享內存
信號: Signal
Semaphore
信號:
查看信號:kill -l
重要的信號:
1: SIGHUP: 讓一個進程不用重啓,就可以重讀其配置文件,並讓新的配置信息生效;
2: SIGINT:Ctrl+c: 中斷一個進程
9: SIGKILL:殺死一個進程
15: SIGTERM:終止一個進程, kill的默認信號
指定一個信號:
1. 信號號碼:kill -1
2. 信號名稱:kill -SIGKILL
3. 信號名稱簡寫:kill -KILL
結束進程:
kill PID
killall COMMAND
調整nice值:
調整已經啓動的進程的nice值:
renice NI PID
在啓動時指定nice值:
nice -n NI COMMAND
前後臺作業
前臺作業:佔據了命令提示符
後臺作業:啓動之後,釋放命令提示符,後續的操作在後臺完成
前臺-->後臺:
Ctrl+z: 把正在前臺的作業送往後臺,處於停止狀態
COMMAND &:讓命令在後臺執行
bg: 讓後臺的停止作業繼續運行
bg [[%]JOBID]
jobs: 查看後臺的所有作業
作業號不同於進程號
+:命令默認將操作的作業
-:命令第二個默認將操作的作業
fg: 將後臺的作業調回前臺
fg [[%]JOBID]
kill %JOBID: 終止某作業
vmstat:系統狀態查看命令
vmstat [ interval [ count ] ]
[root@CentOS mage]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 85348 213456 363980 818276 0 0 0 1 1 2 0 0 100 0 0
各字段分別表示:
運行隊列長度,阻塞隊列長度, swap,空閒,buff, cache, si: swap in, so : swap out, bi: block in, bo block out, in: interrept 個數,cs: context switch, us: 用戶空間佔用CPU時間百分比, sy: 內核空間, id: 空閒, wa: 等待IO
uptime: top第一行內容
cat /proc/meminfo: 查看內存相關信息