執行中的程序在稱作流程。當程式以可執行檔存放在儲存中,並且運行的時候,每個程序會被動態得分配系統資源、記憶體、安全屬性和與之相關的狀態。可以有多個進程關聯到同一個程序,並同時執行不會互相干擾。作業系統會有效地管理和追蹤所有運作的進程。
l 為了管理這些進程,使用者應該能夠:
l 查看所有運行中的進程
l 查看進程中進程 l 定位個別進程並且對其執行指定操作l 改變進程的優先級l 殺死指定進程l 限制進程可用的系統資源等限制進程可用的系統資源等限制進程可用的系統資源等限制進程可用的系統資源。 🎜>Linux提供了許多指令來讓使用者來有效率地掌控上述的操作。接下來,一個一個的來講解下。
1. ps''
'
ps -a - 列出所有運作中/啟動程序
ps -aux - 顯示進程信息,包括無終端的(x)和針對用戶(u)的進程:如USER, PID, %CPU, %MEM等
2. pstreelinux
linux中,每一個進程都是由其父進程創建的。此指令以視覺化方式顯示進程,透過顯示進程的樹狀圖來展示進程間關係。如果指定了pid了,那麼樹的根是該pid,不然會是init(pid: 1)。
3.top
‘top’是一個更有用的命令,可以監視系統中不同的進程所使用的資源。它提供即時的系統狀態資訊。顯示進程的資料包括 PID、進程屬主、優先權、%CPU、%memory等。可以使用這些顯示指示出資源使用量。
4.htop
htop與top很類似,但是htop是互動式的文字模式的進程檢視器。它透過文字圖形化地顯示每一個進程的CPU和記憶體使用量、swap使用量。使用上下遊標鍵選擇進程,F7和F8改變優先權,F9殺死進程。 Htop不是系統預設安裝的,所以需要額外安裝。 5.nice 透過nice指令的協助,使用者可以設定並改變行程的優先權。提高一個行程的優先權,核心會分配更多CPU時間片給這個行程。預設情況下,進程以0的優先權啟動。進程優先權可以透過top指令顯示的NI(nice value)欄位來查看。 進程優先權值的範圍從-20到19。數值越低,優先順序越高。
nice - 透過給定的優先值啟動一個程式
6.renice
renice指令類似nice指令。使用這個指令可以改變正在執行的進程優先值。注意,使用者只能改變屬於他們自己的進程的優先值。 renice -n -p - 改變指定行程的優先值
使用者和群組來改變行程優先值
7.kill 這個指令用來傳送訊號來結束行程。如果一個行程沒有回應殺死指令,這也許就需要強制殺死,使用-9參數來執行。注意,使用強制殺死的時候一定要小心,因為進程沒有時機清理現場,也許寫入文件沒有完成。如果我們不知道進程PID或打算用名字殺死進程時候,killall就能派上用場。 kill kill -9
killall -9 - 殺死所有擁有相同名字的進程 『killall -9 - 殺死所有擁有相同名字的進程
如果你使用kill,你需要知道進程ID號碼。 pkill是類似的命令,但使用模式匹配,如進程名,進程擁有者等。
pkill
8.ulimit
8.ulimit
8.ulimit
ulimit -a - 顯示目前使用者關聯的資源限制
9.w 基於這些使用者訊息,使用者在終止不屬於他們的進程時要小心。 who是類似指令,提供目前登入使用者清單、系統啟動時間、運作等級等。
whoami> 指令輸出目前使用者ID
pgrep的意思是"進程號全域正規匹配輸出"。此命令掃描目前運行進程,然後按照命令匹配條件列出匹配結果到標準輸出。對於透過名字檢索進程號是很有用。
pgrep -u mint sh
這個指令將會顯示使用者為'mint' sh'的進程ID。
11.fg , bg
有時,指令需要很長的時間才能執行完成。對於這種情況,我們使用‘bg’指令可以將任務放在後台執行,而用‘fg’可以調到前台來使用。
我們可以透過'&'在後台啟動一個程式:
find . -name *iso > /tmp/res.txt&
一個正在運作的程式也可以透過「CTRL Z」和「bg」指令組合放到後台運作。
find . -name *iso > /tmp/res.txt & - 啟動一個程序
ctrl z - 掛起目前執行程式
bg - 將程式放到後台執行
我們可以使用'jobs'指令列出所有背景進程。
jobs
ggg〜指令可以使用前台指令執行後執行。 fg %進程id
12.ipcs
ipcs指令報告進程間通訊設施狀態。 (共享內存,信號量和訊息隊列)
用-p參數聯合-m、-s或-q使用,可以獲得相關的進程間通信的進程ID。
ipcs -p -m
總結總和 ,這些指令可以幫助管理員修復問題和改善效能。同樣身為一般使用者也需要解決進程出現的問題。所以,熟悉如此繁多的命令,從能有效管理流程是行之有效。 免費領取LAMP兄弟連原創linux運維工程師影片/細說linux教程,詳情諮詢官網客服:http://www.lampbrother.net/linux/
|