目錄
- 目錄
- 程序管理
- 程序管理的指令
- 檢視程序ps指令
- pgreppidof指令查pid
- lsof檢視系統中的程序
- nice指令修改程序的nice值
- kill指令結束程序
- top系統程序管理器任務管理器
- 程序狀态
- top快捷鍵
- top界面資訊的意義
程序管理
程序的定義:程式在運作時進入記憶體,就叫程序。程序是動态的,是cpu的資源和記憶體。
前台程序:獨占Bash
将前台程序調到背景運作: 指令 & 、ctrl+z
背景程序:可以釋放Bash
檢視背景程序任務号: jobs
在背景繼續運作:bg % 任務号、
将背景程序調到前台運作: fg % 任務号
以不依賴bash的方式運作程序:關閉終端,其程序依然運作
nohup firefox & >/dev/null
不依賴Bash打開火狐浏覽器
程序管理的指令
檢視程序ps指令
ps 不加選項的話,隻能檢視目前終端的程序 ,可以有下列選項:
ps -aux #列出所有程序的詳細資訊
ps -eux #顯示的内容更多
ps -ef
ps -o
ps -efx -o %cpu,pod #檢視某些特定資訊
ps aux | sort -k 3 #将第3列參數正向排序,-r反向排序
程序資訊清單中各個項目代表的意義 :
USER ⇒ 程序的擁有者
PID ⇒ 程序的 ID 号
%cpu ⇒ 程序占用的 cpu 的百分比
%MEM ⇒ 程序占用記憶體的百分比
PPID ⇒ 父程序
NI ⇒ 程序的 nice 值,數值越大,表示占用 cpu 時間少
VSZ ⇒ 程序的虛拟記憶體的使用量(kb)
RSS ⇒ 程序真實記憶體使用量(kb)
TTY ⇒ 程序在哪個終端運作,如果是?,表示沒有在任何終端運作
START ⇒ 程序運作的開始時間
STAT ⇒ 程序狀态
D ⇒ 無法中斷的睡眠
R ⇒ 正在運作
S ⇒ 休眠
T ⇒ 停止
W ⇒ 進入了記憶體交換
X ⇒ 死了的程序
Z ⇒ 僵屍程序
< ⇒ 優先級高的程序
N ⇒ 優先級低的程序
+ ⇒ 程序在背景 x
TIME ⇒ 程序實際運作的時間
COMMAND ⇒ 程序運作了什麼指令
pgrep、pidof指令查pid
lsof檢視系統中的程序
lsof -i | grep httpd 檢視某個程序的情況
nice指令修改程序的nice值
nice -n -20 程式名 #沒有運作的程式
renice -n -20 pid #已經運作的程序
nice -n nice 程式名/指令 #nice = [-20,19]
kill指令結束程序
kill pid #整潔的結束程序
kill -9 pid #強行殺掉程序,不推薦
top系統程序管理器(任務管理器)
top指令,動态檢視程序。可以有下列的操作
top -d 1 #每隔 1s 重新整理 1 次 ,預設每 3s 重新整理一次
程序狀态
S ⇒ Sleep,可以響應别人的信号被喚醒。
R ⇒ Running
D ⇒ 睡眠,與S不同,不可以響應别人的信号。
K ⇒ 可以被中斷的程序
T ⇒ Stop
Z ⇒ 僵屍程序,無法被釋放
top快捷鍵
M ⇒ 程序按使用記憶體量排序
P ⇒ 程序安CPU使用量排序
r ⇒ renice 修改正在運作的程序的nice值(r -> 回車-> inputPID -> 回車 -> input newNnice值)
k ⇒ 殺掉一個程序(k -> pid -> 信号)
killall 程式名 ⇒ (殺一類程序)
z ⇒ 改變顔色
看其他cpu狀态(看其他core)按 0,1,2,3
top界面資訊的意義
load average ⇒ 1分鐘負載,5分鐘負載,16分鐘負載,也可以用uptime指令得到負載參數,一般用于腳本
PR ⇒ :優先級