上節復習:
ps aux
ps -elf # 查看父進程id
pstree pid
pgrep -l -u 用戶
今日內容
1、查看進程狀態
命令行選項
top -d 刷新時間s -p pid # 只看某一個進程的信息
top -d 刷新時間s -u 用戶 # 只查看該用戶開啟的所有進程信息
內部命令
s # 修改刷新時間,單位是秒,可以是0.001s,建議不要設置很小,否則會過度消耗cpu
q # 退出 或者ctrl+c
排序:
M 按照內存占用率從大到小排序
P 按照cpu占用率從大到小排序
N 按照PID從大到小排序
配合R代表倒序
shift + > # 移動排序字段
shift + < # 移動排序字段
按上下鍵查看所有進程
f 增加顯示字段 (top 屬性 增加)
k 給進程發信號 (刪除)
數字1 :顯示所有cpu的信息
2、管理進程
1、優先級設置
2、給進程發信號
kill
3、HUP信號-》如何讓進程脫離當前終端運行
nohup
setsid
在子shell中提交任務
screen命令
top命令
第一行內容:
當前系統時間 服務器運行時間 有3個用戶在登錄
top - 10:54:23 up 1 day, 17:56, 3 users,
#平均負載(系統)
load average: 0.00, 0.01, 0.05
第二行內容:
總共122個任務 1個正在運行(R) 121個進入睡眠狀態的(S) 沒有停止(T) 0個僵屍進程(Z)
Tasks: 122 total, 1 running, 121 sleeping, 0 stopped, 0 zombie
第三行內容:
用戶態 內核態 優先級 空閑 等待(wait) 硬中斷 軟中斷 虛擬機占用物理機CPU的百分比
%Cpu(s): 0.1 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa,(io輸入輸出) 0.0 hi, 0.0 si, 0.0 st (被偷的值)
第四行:內存
KiB Mem : 2028116 total, 150780 free, 144108 used, 1733228 buff/cache
第五行:swap虛擬內存
KiB Swap: 2097148 total, 2097148 free, 0 used. 1645080 avail Mem
第六行:
進程號 用戶 (比右邊的大20)優先級 虛擬內存 物理內存 共享內存 狀態 占CPU的百分比 占內存的百分比
PID USER (比右邊的大20)PR NI VIRT RES SHR S %CPU %MEM
運行時間 進程的運行命令
TIME+ COMMAND
中斷:硬中斷
中斷是系統用來影響硬件設備請求的一種機制,它會打斷進程的正常調度和執行,然后調用內核中的中斷處理程序來影響設備的請求
軟中斷:
事實上,為了解決中斷處理程序執行過長的和丟失中斷的問題,Linux將中斷處理過程分成了兩個階段:
第一階段:用來快速處理(硬中斷)中斷,它在中斷禁止模式下運行,主要處理跟硬件緊密相關工作
第二階段:用來延遲處理第一階段未完成的工作,通常以內核線程的方式運行。
top命令使用:
-d:指定刷新時間
-p:指定pid
-u:指定用戶
-b:保存到文件中
-n:指定次數
z:高亮顯示
b:運行的進程,高亮顯示
s:修改刷新時間
M:按照內存排序
P:按照CPU排序
R:倒敘
f:自定義顯示字段
q:退出
kill信號管理:
1:重新加載
2:類似於ctrl + c
3:正常終止進程
9:強制殺死(少用)
15:默認信號,進程終止
-------------------------------------
18:重新喚起停止的進程
19:直接暫停
20:把進程放到后台並暫停
pkill
-t:指定終端
-9:強制,把終端運行的命令和終端一並殺掉
killall 進程名