檢視和控制程序
程式和程序的關係: 程式
儲存在硬碟、光碟等介質中的可執行**和資料;
是靜態儲存的**
程序
在cpu及記憶體中執行的程式**;是動態執行的**;
父子程序:每個程序可以建立乙個或多個程序
a)檢視程序
1.ps 命令——檢視靜態的程序統計資訊
a:顯示當前中斷下所有程序資訊
u:使用以使用者為主的格式輸出程序資訊
x:顯示當前使用者在所有終端下的程序資訊
- e:顯示系統內的所有程序資訊
- l:使用長格式顯示程序資訊
- f:使用完整的格式顯示程序資訊
輸出資訊各欄位含義:
user:啟動該程序的使用者賬號的名稱
pid:該程序在系統中的數字id號,在當前系統中是唯一的
tty:表明該程序是在哪個終端上執行的。」?」表示未知或不需要終端
stat:顯示了程序當前的狀態,(s:休眠 ;r:執行;z:僵死;對於僵死狀態的程序應該手動終止
start:啟動該程序的時間
time:該程序占用的cpu時間
command:啟動該程序的命令的名稱
%cpu:cpu占用的百分比
%mem:記憶體占用的百分比
vsz:占用虛擬記憶體(swap空間)的大小
rss:占用常駐記憶體(物理記憶體)的大小
eg:以簡單列表的形式顯示出所有程序資訊
ps aux
eg:長格式顯示系統中所有的程序資訊
ps - elf
eg:過濾出bash的程序資訊
ps aux | grep bash
2.top 命令——檢視程序動態資訊(每3秒重新整理一次)
p:根據cpu占用情況對程序列表進行排序
m:根據記憶體占用情況進行排序
n:根據啟動時間進行排序
q:退出top程式
中止: k鍵 —出現(」pid to kill : 」輸入pid號回車—殺死)
3. pgrep 命令——查詢特定程序資訊
用來查詢特定程序資訊的專用工具;
結合」- l 」可同時輸出對應的程序名(否則只輸出pid,不便於理解);
結合」- u」選項查詢特定使用者的程序;
結合」- t 」查詢在特定終端執行的程序
eg:查詢程序名中包含log的程序及其pid號
pgrep - l 「log」
eg:查詢使用者teacher在tty1終端上執行的程序及pid號
pgrep - l - u teacher - t tty1
4.pstree 命令——檢視程序樹(預設只顯示各程序的名稱)
- a :列出完整的命令資訊
- p :同時列出對應的pid號
- u :對應的使用者名稱
eg:檢視當前系統的程序樹,包括程序對應的pid號、使用者名稱、完整命令等資訊
pstree - aup
eg:列出由使用者teacher開啟的程序及子程序的樹結構
pstree - ap teacher
b)控制程序
1. 啟動程序
手工啟動程序:
前台啟動:使用者輸入命令,直接執行程式
後台啟動:在命令行尾加入「&」符號
排程啟動程序
使用at命令,設定一次性任務計畫
使用crontab命令,設定週期性計畫任務
eg:使用cp命令從光碟中製作映象檔案時,結合「&」將操作放到後台進行
cp /dev/cdrom mycd.iso &
2. 改變程序的執行方式
1)掛起當前的程序
ctrl + z:將當前的程序掛起(調入後台並停止執行)
wget
2)檢視後台的程序
jobs - l:檢視當前終端中在後台執行的程序任務並顯示pid號
3)將後台的程序恢復執行
bg(後台)命令:將後台暫停執行(ctrl+z掛起的等)任務恢復後台執行
fg(前台)命令:將後台任務重新恢復到前台執行
除非後台中只有乙個任務,否則bg和fg都需要指定後台程序的任務編號
3. 終止程序
1)使用kill命令終止程序
終止指定pid
號的程序;- 9:強行殺死
eg:執行kill命令將程序的pid號為2869的rpc服務portmap終止
kill 2869—— 殺死指定pid的程序
pgrep - l 「portmap」——查詢目標程序是否終止
2) 使用killall命令終止程序
終止指定名稱的所有程序:結束系統中多個相同名稱的程序時使用
eg:killall - 9 vim——將所有名為vim的程序強行殺死
3) 使用pkill命令終止程序
根據指定條件(程序的名稱、執行該程序的使用者、程序所在的終端等)終止相應的程序(剔除使用者登入)
pkill - 9 - u (+使用者)
pkill - 9 - u u1 - t tty(終端)
eg:終止由使用者hackli啟動的程序(包括登入shell)
pkill - 9 - u 「hackli」 ——強行殺死使用者hackli的程序
pgrep - l - u 「hackli」——確認目標程序已被殺死
ps程序控制與管理
系統中每個程序都以兩種方式存在 前台 foreground 與後台 background 前台就是使用者在當前螢幕進行的操作,後台是程序進行的實際操作。ps 命令是 process status 的縮寫,執行時可以不加任何引數,顯示資訊如下 pid程序的id,方便結程序 ttytime 此程序消耗c...
程序管理 八 程序控制
在作業系統中,通常把程序控制用程式段做成原語。為了在併發執行過程中執行程序控制任務時候,減少系統的開銷和複雜度 建立方式 特點由系統程式模組統一建立 關係是平等 它們之間一般不存在資源繼承關係 由父程序建立 程序之間則存在隸屬關係 子程序可繼承父程序資源 建立方式總結 1.無論是哪一種方式建立程序,...
程序及程序控制
學習程序之前,先了解一下程式 所謂程式就是指編譯好的二進位制檔案,在磁碟上,不占用系統資源 cpu 記憶體.而程序是與作業系統相關,是指在記憶體中執行起來的程式,占用一些系統資源,每當乙個程式執行,就相應產生乙個程序。程序的一些相關資訊被放在乙個叫程序控制塊的資料結構中,稱之為pcb。linux下的...