歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux進程操作信息

Linux進程操作信息

日期:2017/2/28 13:54:57   编辑:Linux教程

Linux進程操作簡單小結

Linux上進程有5種狀態:

1.運行(正在運行或在運行隊列中等待)

2.中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)

3.不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)

4.僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)

5.停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)


ps命令用來靜態查看目前系統中,有哪些正在執行,以及它們的執行情況。可以不加任何參數。

ps -a :顯示當前終端的所有進程信息。

ps -u :以用戶的格式顯示進程信息

ps -x :顯示後台進程運行的參數

本人喜歡直接三個參數連起來使用:ps -aux 這樣查到的信息更全更詳細。

例:

參數說明:

USER:該 process 屬於那個使用者賬號的

PID :該 process 的號碼

%CPU:該 process 使用掉的 CPU 資源百分比

%MEM:該 process 所占用的物理內存百分比

VSZ :該 process 使用掉的虛擬內存量 (Kbytes)

RSS :該 process 占用的固定的內存量 (Kbytes)

TTY :該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若為 pts/0 等等的,則表示為由網絡連接進主機的程序。

STAT:該程序目前的狀態,主要的狀態有

R :該程序目前正在運作,或者是可被運作

S :該程序目前正在睡眠當中 (可說是 idle 狀態),但可被某些訊號 (signal) 喚醒。

T :該程序目前正在偵測或者是停止了

Z :該程序應該已經終止,但是其父程序卻無法正常的終止他,造成 zombie (疆屍) 程序的狀態

START:該 process 被觸發啟動的時間

TIME :該 process 實際使用 CPU 運作的時間

COMMAND:該程序的實際指令



top動態查看進程使用狀況

23:59:58    當前時間
up 10:22 系統運行時間,格式為時:分
2 user 當前登錄用戶數
load average: 0.00, 0.00, 0.00 系統負載,即任務隊列的平均長度。三個數值分別為 1分鐘、5分鐘、15分鐘前到現在的平均值。

total 進程總數
running 正在運行的進程數
sleeping 睡眠的進程數
stopped 停止的進程數
zombie 僵屍進程數
Cpu(s):
xx% us 用戶空間占用CPU百分比
xx% sy 內核空間占用CPU百分比
xx% ni 用戶進程空間內改變過優先級的進程占用CPU百分比
xx% id 空閒CPU百分比
xx% wa 等待輸入輸出的CPU時間百分比
xx%hi:硬件CPU中斷占用百分比
xx%si:軟中斷占用百分比
xx%st:虛擬機占用百分比

Mem:
1004412k total 物理內存總量
221404k used 使用的物理內存總量
783008k free 空閒內存總量
17268k buffers 用作內核緩存的內存量
Swap:
2031668k total 交換區總量
0k used 使用的交換區總量
2031608k free 空閒交換區總量
97902k cached 緩沖的交換區總量,內存中的內容被換出到交換區,而後又被換入到內存,但使用過的交換區尚未被覆蓋,該數值即為這些內容已存在於內存中的交換區的大小,相應的內存再次被換出時可不必再對交換區寫入。

序號 列名 含義
a PID 進程id
b PPID 父進程id
c RUSER Real user name
d UID 進程所有者的用戶id
e USER 進程所有者的用戶名
f GROUP 進程所有者的組名
g TTY 啟動進程的終端名。不是從終端啟動的進程則顯示為 ?
h PR 優先級
i NI nice值。負值表示高優先級,正值表示低優先級
j P 最後使用的CPU,僅在多CPU環境下有意義
k %CPU 上次更新到現在的CPU時間占用百分比
l TIME 進程使用的CPU時間總計,單位秒
m TIME+ 進程使用的CPU時間總計,單位1/100秒
n %MEM 進程使用的物理內存百分比
o VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
p SWAP 進程使用的虛擬內存中,被換出的大小,單位kb。
q RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
r CODE 可執行代碼占用的物理內存大小,單位kb
s DATA 可執行代碼以外的部分(數據段+棧)占用的物理內存大小,單位kb
t SHR 共享內存大小,單位kb
u nFLT 頁面錯誤次數
v nDRT 最後一次寫入到現在,被修改過的頁面數。
w S 進程狀態(D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/停止,Z=僵屍進程)
x COMMAND 命令名/命令行
y WCHAN 若該進程在睡眠,則顯示睡眠中的系統函數名
z Flags 任務標志,參考 sched.h


終止進程的介紹

kill 進程號 :終止某個進程

kill -9 進程號 :強制終止某個進程

kill -u 用戶名 :終止某個用戶的進程

這裡就簡單介紹常用的三種終止進程命令。


Linux查看某一進程運行路徑步驟只需三步:

一:先查看需要查詢的進程的進程號,ps 或者 top 也行

二:Linux在啟動一個進程時,系統會在/proc下創建一個以PID命名的文件夾,在該文件夾下會有我們的進程的信息。

cd /proc/PID :到達相應的進程目錄下面。

三:運行ls -l

留意:

cwd符號鏈接的是進程運行目錄。

exe符號連接就是執行程序的絕對路徑。

cmdline就是程序運行時輸入的命令行命令。

environ記錄了進程運行時的環境變量。

Copyright © Linux教程網 All Rights Reserved