二、控制程序
2.改變程序的執行方式
ps 命令是 linux 作業系統中最為常用的程序檢視工具,主要用於顯示包含當前執行的各程序完整資訊的靜態快照。通過不同的命令選項,可以有選擇性地檢視程序資訊。
a:顯示當前終端下的所有程序資訊,包括其他使用者的程序。與「x」選項結合時將顯 示系統中所有的程序資訊。
u:使用以使用者為主的格式輸出程序資訊。
x:顯示當前使用者在所有終端下的程序資訊。
-e:顯示系統內的所有程序資訊。
-l:使用長(long)格式顯示程序資訊。
-f:使用完整的(full)格式顯示程序資訊。
使用 ps 命令檢視到的是乙個靜態的程序資訊,並不能連續地反饋出當前程序的執行狀態。若希望以動態重新整理的方式顯示各程序的狀態資訊,可以使用 top 命令。top 命令將會在當前終端以全屏互動式的介面顯示程序排名,及時跟蹤包括 cpu、記憶體等系統資源占用情況,預設情況下每三秒鐘重新整理一次。
通過 pgrep 命令,可以只指定程序的一部分名稱進行查詢,結合「-l」選項可同時輸出對應的程序名(否則只輸出 pid 號,不便於理解)
還可結合「-u」選項查詢特定使用者的程序、「-t」選項查詢在特定終端執行的程序。例如,若要查詢由使用者 teacher 在 tty2 終端上執行的程序及 pid 號
pstree 命令可以輸出 linux 作業系統中各程序的樹形結構,以更加直觀地判斷各程序之間的相互關係(父程序、子程序)。pstree 命令預設情況下只顯示各程序的名稱
-p 選項使用時可以同時列出對應的 pid 號
-u選項可以列出對應的使用者名稱
-a選項可以列出完整的命令資訊
啟動後台程序需要使用「&」操作符,將「&」操作符放在要執行命令的最後面,程序啟動後會直接放入後台執行,而不占用前台的命令操作介面,方便使用者進行其他操作。例如,當使 用 cp 命令從光碟中製作映象檔案時,由於需要複製的資料較多,耗時較長,因此可結合「&」 符號將複製操作放到後台執行,以便使用者可以繼續執行其他命令操作
在伺服器維護工作中,經常需要執行一些比較費時而且較占用資源的任務(如資料備份),這些任務更適合在相對空閒的時候(如夜間)進行。這時就需要使用者事先進行排程安排,指 定任務執行的時間,當系統到達設定時間時會自動啟動並完成指定的任務。排程啟動的計畫 任務程序均在後台執行,不會占用使用者的命令終端。
程序的排程啟動可以通過 at、crontab 命令進行設定,其中 at 命令用於設定一次性(如12:15 時重啟網路服務)計畫任務,crontab 命令用於設定週期性執行(如每週五 17:30 備份資料庫)的計畫任務。
需要檢視當前終端中在後台執行的程序任務時,可以使用 jobs 命令,結合「-l」選項可以同時顯示該程序對應的 pid 號。在jobs命令的輸出結果中,每一行記錄對應乙個後台程序的狀態資訊,行首的數字表示該程序在後台的任務編號。若當前終端沒有後台程序,將不會顯示任何資訊。
使用 bg(background,後台)命令,可以將後台中暫停執行(如按 ctrl+z 組合鍵掛起)的任務恢復執行,繼續在後台執行操作;而使用 fg 命令(foreground,前台),可以將後台任務重新恢復到前台執行。
除非後台中的任務只有乙個,否則bg和fg命令都需要指定後台程序的任務編號作為引數。例如,執行如下的「fg 1」命令可以將之前掛起至後台的 wget 程序重新調入前台執行。
當使用者在前台執行某個程序時,可以按 ctrl+c 組合鍵強制進行中斷(如命令長時間沒有響應的情況下)。中斷前台程序的執行後,系統將返回命令列提示符狀態等待使用者輸入新的命令。當按 ctrl+c 組合鍵無法終止程式或者需要結束在其他終端或後台執行的程序時, 可以使用專用的程序終止工具 kill、killall 和 pkill。
(1)使用 kill 命令終止程序
通過 kill 命令終止程序時,需要使用程序的 pid 號作為引數。無特定選項時,kill 命令將給該程序傳送終止訊號並正常退出執行,若該程序已經無法響應終止訊號,則可以結合「-9」 選項強行終止程序。強制終止程序時可能會導致程式執行的部分資料丟失,因此不到不得已時不要輕易使用「-9」選項。
(2)使用 pkill 命令終止程序
使用 pkill 命令可以根據程序的名稱、執行該程序的使用者、程序所在的終端等多種屬性終止特定的程序,大部分選項與 pgrep 命令基本類似,如「-u」(指定使用者)、「-t」(指定終端) 等選項,使用起來非常方便。
Linux檢視程序 埠占用相關命令
netstat nlp grep 埠號 eg netstat nlp grep 3001 查詢結果 netstat anp grep 埠號 eg netstat anp grep 3001 查詢結果 r,route display routing table 顯示路由表 i,inte ces dis...
用dos命令檢視程序和結束程序
taskkill f im explorer.exe 關閉explorer.exe程序 tasklist 命令用來顯示執行在本地或遠端計算機上的所有程序,帶有多個執行引數。使用格式 tasklist s system u username p password m module svc v fi f...
linux 命令 之 ps 檢視相關程序
ps命令用於報告當前系統的程序狀態。可以搭配kill指令隨時中斷 刪除不必要的程式。ps命令是最基本同時也是非常強大的程序檢視命令,使用該命令可以確定有哪些程序正在執行和執行的狀態 程序是否結束 程序有沒有僵死 哪些程序占用了過多的資源等等,總之大部分資訊都是可以通過執行該命令得到的。命令 檢視帶有...