進程管理(一)

進程管理

一、進程

1. 進程概念

進程是一個具有一定獨立功能的程序,在一個數據集上的一次動態執行的過程。進程是操作系統進行資源分配和調度的一個獨立單位,是應用程序運行的載體。進程一般由程序,數據和進程控制塊三部分組成。

  • 程序用於描述進程要完成的功能,是控制進程執行的指令集;
  • 數據是程序在執行時所需要的數據和工作區;
  • 程序控制塊包含進程的描述信息和控制信息是進程存在的唯一標誌。

二、進程查看

1. ps與pstree

ps命令用來查看當前進程的快照信息
用法:ps [ 選項 ]
-u  以用戶爲中心組織進程狀態信息顯示
-a  與終端相關的進程
-x  與終端無關的進程
-e  顯示所有進程
-f   顯示完整格式程序信息

ps -aux
進程管理(一)

輸出格式說明

字段 描述
USER 用戶名
%CPU 進程佔用的CPU百分比
%MEM 佔用內存的百分比
VSZ 該進程使用的虛擬內存量(KB)
RSS 該進程佔用的固定內存量(KB)(駐留中頁的數量)
STAT 進程的狀態
START 該進程被觸發啓動時間
TIME 該進程實際使用CPU運行的時間

狀態碼說明

狀態碼 描述
D 無法中斷的休眠狀態(通常 IO 的進程);
R 正在運行可中在隊列中可過行的;
S 處於休眠狀態;
T 停止或被追蹤;
W 進入內存交換 (從內核2.6開始無效);
X 死掉的進程 (基本很少見);
Z 殭屍進程;
< 優先級高的進程
N 優先級較低的進程
L 有些頁被鎖進內存;
s 進程的領導者(在它之下有子進程);
l 多線程,克隆線程(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ 位於後臺的進程組;

ps -ef

進程管理(一)

輸出格式說明

字段 說明
UID 用戶ID、但輸出的是用戶名
PID 進程的ID
PPID 父進程ID
C 進程佔用CPU的百分比
STIME 進程啓動到現在的時間
TTY 該進程在那個終端上運行,若與終端無關,則顯示? 若爲pts/0等,則表示由網絡連接主機進程
CMD 命令的名稱和參數

pstree命令以樹形結構顯示當前進程信息
-a  顯示每個程序的完整指令,包含路徑,參數或是常駐服務的標示
-h  列出樹狀圖時,特別標明現在執行的程序
-n  用程序識別碼排序。預設是以程序名稱來排序
-p  顯示程序識別碼
進程管理(一)

2. top與htop

top命令實時顯示進程CPU利用率
進程管理(一)

htop命令交互式實時顯示進程信息
進程管理(一)

3. netstat

  • 查看網卡列表
    netstat -i
    進程管理(一)
  • 查看路由表
    netstat -rn
    進程管理(一)
  • 查看端口
    netstat -tunlp
    -t 僅顯示tcp相關選項
    -u 僅顯示udp相關選項
    -n 拒絕顯示別名,能顯示數字的全部轉化成數字
    -l 僅列出有在 Listen (監聽) 的服務狀態
    -p 顯示建立相關鏈接的程序名
    進程管理(一)
    進程管理(一)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章