天天看點

processes 程序

 程序主要分為 :

使用者程序 ->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 可以檢視信号

processes 程式

其中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掉一個作業

繼續閱讀