linux系統中,程序就是指正在執行的程式。執行一條命令,shell也會啟動乙個程序。將程序與程式分離。
1 程序的顯示與刪除
程序啟動時,系統會分配乙個唯一的數值給該程序,這個數值稱為"程序id"(process id)。每個程序都有乙個父程序(parent process),而這個父程序又可以複製多個子程序,這個動作稱為"fork"。fork在網路程式設計中很常見。程序的執行方式有兩種:前台和後天。前台程序就是目前使用者在螢幕上操作的程序,後天程序就是螢幕上看不到但實際在運作的程序。後天程序適用於執行時間長,比較複雜的程序。一般系統的服務程序都是以後臺執行的方式,知道關機時結束程序,通常稱之為daemon。大多數此類的服務程序的名稱後加有d。例如httpd,sshd等。
顯示目前程序:
ps (process status)
該命令用於目前系統中有哪些程序在執行,及其執行狀況。如果只執行不帶任何引數的ps命令,會有4個基本資料出現。
pid(process id)程序標示符,憑藉此數值來識別和處理此程序。
tty(teletypewriter),登陸的終端機編號。
time:此程序消耗的cpu時間。
cmd:正在執行的命令或程序名稱。
ps -l (long)
該命令會顯示4個基本資料外,還會顯示10個額外資料。
f:flag, 程序的狀態標識。
s:status,程序狀態**。
uid:程序執行者的id。
ppid: parent process id, 父程序標識
pri:priority,程序的優先順序
ni:nice, 程序執行優先順序的nice值。
sz:size,程序占用的記憶體大小,以kb為單位。
wchan:waiting channel,表示程序或系統呼叫等待時的位址。
ps -u (user)
該命令以使用者格式顯示。
%cpu:cpu使用百分比
%mem:記憶體使用百分比
vsz:虛擬記憶體大小
rss:占用的物理記憶體大小
start:程序開始時間
顯示後台程序:
ps -aux
結束程序: kill pid 如果kill不掉,可以加選項-9或 -15,還是不行就重啟電腦。
先用ps命令,得到程序號pid,在用kill命令殺掉程序。
動態顯示程序:top
top與ps命令,相似點就是都可顯示目前執行的程序,但是top能以指定間隔動態重新整理程序資訊。
top -d 10 表示指定間隔時間為10秒,來重新整理程序資訊。
在螢幕出現程序資訊後,可以通過不同鍵值來排序顯示的資訊
按 p 鍵,按cpu使用時間來排序
按 m 鍵,按記憶體使用量來排序
按 t 鍵,按執行時間來排序
按 k 鍵,可以殺掉某條程序。
記憶體狀態與優先順序: free
free命令會顯示物理記憶體(mem)和swap(分割槽),shared(共享),buffers(緩衝區),快取空間(cached)。
free -s 10 : 帶s引數的free命令,會每個10秒重新整理記憶體狀態。
程序優先順序: nice、renice
可以根據需求,用nice或renice命令自行設定程序的優先順序。 等級越高,cpu可供使用的時間越長。cpu等級有:-20 ~ 19
nice -level值。 或者renice -level pid。
程序控制與管理
檢視和控制程序 程式和程序的關係 程式 儲存在硬碟 光碟等介質中的可執行 和資料 是靜態儲存的 程序 在cpu及記憶體中執行的程式 是動態執行的 父子程序 每個程序可以建立乙個或多個程序 a 檢視程序 1.ps 命令 檢視靜態的程序統計資訊 a 顯示當前中斷下所有程序資訊 u 使用以使用者為主的格式...
Linux 程序管理 以及 作業控制
在看 程序的概念我還是理解的很清楚的。檔案系統也理解的很清楚。程序組作用是什麼?作業是什麼,作業和程序的關係,作業的作用是什麼?會話 session 是什麼,會話和作業程序的關係,會話的作用 這個部落格的問題就是 程序管理 以及 作業控制。希望可以好好的理解這個問題。其中很多理解是根據 百科的內容 ...
ps程序控制與管理
系統中每個程序都以兩種方式存在 前台 foreground 與後台 background 前台就是使用者在當前螢幕進行的操作,後台是程序進行的實際操作。ps 命令是 process status 的縮寫,執行時可以不加任何引數,顯示資訊如下 pid程序的id,方便結程序 ttytime 此程序消耗c...