程序主要分為 :
使用者程序 ->termial
守護程序-> daemon 與終端無關的
排程程序 例如at ,crond指令的執行
程序一般是init發起的子程序,它的pid是1,可以使用pstree指令檢視
/proc 下可以檢視程序資訊
每個程序都有個pid,一般是1-32767
用ps指令可以檢視程序:
user 表示發起使用者
ruser表示實際上市由誰發起的
euser 表示使用的是誰的權限
pid 表示程序pid号
%cpu 顯示cpu的使用率
%men 顯示記憶體使用率
ni nice值,優先級
vsz 虛拟記憶體大小占用
rss 實體記憶體大小占用
tty那個tty發起的其中 ?是守護程序
stat 程序狀态
time 累積獲得的cpu時間
command 哪個指令啟動的子程序
其中stat表示的程序狀态
d表示不可中斷
r正在運作或等待馬上即可運作的
s可中斷的sleep
t中斷狀态停止狀态
z僵死程序 例如一個程序的父程序被突然kill了,他的子程序就變成僵死程序了 bug程式會導緻
每個标志号都可以帶上修飾符
< 表示高優先級
n表示低優先級
l鎖定在記憶體中的
+前台運作的
l 表示多線程的
指令ps常用來檢視程序
bsd風格,一般不需要加上-
a 和終端有關的
x 和終端無關的
u 顯示使用者相關資訊
o選項可以使用者自定義顯示,例如 隻讓顯示與終端無關的pid , ps xo pid
還有另一種風格,需要加上-
-e 全部程序
-f 所有資訊
有個簡練的指令,可以做選擇的輸出
pgrep 支援正規表達式
pgrep –u root –v(反向,非該使用者的)
-g xxx
-l 1 包含1的
如果知道程序名可以使用 pidof 程序名
信号!!!singal
kill –l 和man 7 singal 可以檢視信号
其中2中止相當于ctrl+c
5是優雅的中止
9 kill,強行殺掉
15相當于ctrl+z
kill可以用來殺掉程序,發出一個信号
kill -9 xxx表示強行殺掉一個程序
相當于kill –kill xxx
killall 程序名 可以殺掉所有相關的程序
-i 互動式
-v 支援正規表達式
nice 可以調節一個程序的優先級
-20~19 值越小,優先級越高
nice –n xxx(指令)
如果程序已經存在
renice n –p pid可以修改相對于pid的程序
使用top指令可以動态檢視程序
其中us 使用者
sy 核心
ni nice值
id 空閑
wa 等待
hi 硬體中斷時間
si 軟體中斷時間
st 被偷走的(比如完全虛拟化的虛拟機占用)
mem
swap
top –b 批處理,換屏
top –n 2 重新整理2次
-d 1 1秒重新整理一次
以上就是程序的基本知識
作業 jobs
使用ctrl+z可以把前台運作的程式放入後天
jobs 可以檢視目前後天運作的作業
fg %n 即可調出背景的作業
bg %n 則可以讓背景的作業在背景運作
kill %n 可以kill掉一個作業