Linux 程序管理

2021-09-28 23:23:55 字數 2760 閱讀 5450

4.程序的優先順序

5.如何控制shell中程序的前後臺呼叫

6.程序訊號

7.程序的動態監控

程式 (program) 是放置在儲存**中 ( 如硬碟、光碟、軟盤、磁帶等 ),為實體檔案的型態存在。

程序: 程式被觸發後,執行者的許可權與屬性、程式的程式碼與所需資料等都會被載入記憶體中,作業系統並給予這個記憶體內的單元乙個識別碼 (pid), 可以說,程序就是乙個正在執行中的程式。

r (running): 該程式正在執行中 。

s (sleep):該程式目前正在睡眠狀態 (idle), 但可以被喚醒(signal) 。

d:不可被喚醒的睡眠狀態, 通常程序可能在等待 i/o 的情況。

t :停止狀態 (stop),可能是在工作控制 ( 背景暫停 ) 或除錯(traced) 狀態。

z (zombie):殭屍狀態,程式已經終止但卻無法被移除至記憶體外。

輸入ps檢視程序

ps常加引數:

ps -a   所有程序

ps -a   在環境中的所有程序,不包含環境資訊

ps -u   顯示程序使用者資訊

ps a   顯示當前環境中執行的程序,包含環境資訊

ps x   列出系統中所有執行包含tty輸出裝置

ps f   顯示程序的父子關係

ps e   顯示程序的詳細資訊(系統資源的呼叫)

ps l   較長、較詳細的將該 pid 的的資訊列出

ps aux   顯示系統中所有程序並顯示程序使用者

ps ef   顯示程序詳細資訊並顯示程序父子關係

ps ax   顯示當前系統中的所有程序

pstree   顯示當前系統的程序樹

顯示程序指定資訊:

輸入ps -o ***顯示程序的指定資訊

常用的資訊有如下:

comm   程序名稱

user   程序所有人

group   程序所有組

%cpu   程序cpu使用率

%mem   程序記憶體使用率

pid   程序id

nice   程序優先順序

可以看到程序的stat資訊中有多個字元,它們的含義分別如下:

』 s 』   程序的狀態

』 l 』   記憶體中有鎖定空間

』 n 』   優先順序低

』 < 』   優先順序高

』 + 』   前台執行

』 s 』   頂級程序

程序排序:

ps ax --sort=*** -o *** (公升序排列)

ps ax --sort= - *** -o *** (降序排列)

" = "後面跟要排序的資訊,-o 後跟要顯示的資訊

搜尋指定程序

ps -aux | grep 程序關鍵字

這個命令用於搜尋包含關鍵字的程序

程序優先順序的範圍是: -20~19

程序的資訊中有一項nice就是指程序的優先順序。

輸入watch -n 1 ps -a -o comm,stat,pid,nice可以檢視程序的優先順序

工作管理:工作管理是用在 bash 環境下的 ,當我們登陸系統取得 bash shell 之後 ,在單一終端機介面下同時進行多個工作的行為管理。舉例來說 , 我們在登陸 bash 後, 想要一邊進行資料搜尋、一邊開啟瀏覽器 , 還可以一邊進行 vim 程式撰寫 。 這個就牽扯到工作的前後臺管理。

工作管理的常用命令:

命令 &   使job 在後台執行

ctrl+z   把已經開啟的程序打入後台 , 並且不執行

fg   將後台的 job 調回前台

bg   後台不執行的程序執行起來

jobs   檢視當前 bash 的 job

jobs -l   檢視當前 bash 的 job,並顯示該 job 的狀態與 pid

kill -訊號 pid

killall -訊號 程序名稱

pkill -u username -訊號   結束某個使用者的所有程序

輸入top可以動態監控程序,檢視程序資訊

在該介面中還可以按以下按鍵執行相應的操作:

s : 修改程序重新整理間隔時間

m : 根據記憶體占有率進行排序

c : 根據 cpu 占有率進行排序

u : 後面輸入使用者名稱,用來檢視該使用者發起的所有程序

k : 後面跟要作用的程序 pid, 和發起的訊號 (eg:9,15,20) 用來給某個程序發起一訊號

q : 退出程序檢視介面

h : 顯示 top 命令的幫助

LINUX程序管理

1.程序是什麼?乙個程序就是出於執行期的程式,包括 可執行程式 段 開啟的檔案,掛起的訊號,核心內部資料,處理器狀態,位址空間,乙個或多個執行執行緒,當然還包括用來存放全域性變數的資料段,等等.2.什麼是執行緒?它和程序的關係是什麼樣的?執行緒在linux中具體是怎麼樣實現的?是在程序中活動的物件,...

linux程序管理

程序的監控 使用ps aux 檢視當前所有程序。可以使用top檢視當前程序自動更新列表,在top中m 按記憶體大小排列,p 按cpu佔用率排列 終止和管理程序 程序之間通過訊號來進行通訊 top和kill都用於向程序傳送訊號。kill l顯示訊號編號表。kill 9 pid kill pid 向pi...

Linux 程序管理

1.linux程序管理工具,包括ps pgrep top kill killall pkill 等 常用 ps aux 或lax輸出的解釋 user 程序的屬主 pid 程序的id ppid 父程序 cpu 程序占用的cpu百分比 mem 占用記憶體的百分比 ni 程序的nice值,數值大,表示較少...