linux 程序管理與控制

2021-06-08 03:07:53 字數 1689 閱讀 1316

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...