PS檢視,控制程序

2021-07-23 01:50:21 字數 3057 閱讀 2704

程式:程式是儲存在外部儲存介質(如硬碟)中的可執行**和資料的靜態集合

程序:程序是執行在cpu及記憶體中出於動態執行狀態的電腦程式,每個程式啟動後可以建立多個程序

例如web,大量使用者同時訪問是,httpd服務會建立多個程序來提供服務

1. ps命令:檢視靜態的程序統計資訊(processesstatistic)

a:顯示當前終端下的所有程序,包括其他使用者的程序,與x選項結合是將顯示系統中左右的程序資訊

u:使用以使用者為主的格式輸出程序資訊

x:顯示當前使用者所有終端下的程序資訊

-e:顯示系統內的所有程序資訊

-l:使用長(long)格式顯示程序資訊

-f:使用完整的(full)格式顯示程序資訊

以上是ps命令常用選項,有些選項是不帶「-」的,帶上以後可能會有出入,習慣把上面的選項組合用如:ps aux 或 ps -elf 命令

ps aux 命令輸出解釋

user:啟動該程序的使用者帳號名稱

pid:該程序在系統中的數字id號,唯一的

%cpu

:占用cpu的百分比

%mem

:占用記憶體空間的百分比

vsz:占用虛擬記憶體(swap空間)的大小

rss:占用物理記憶體的大小

tty:表明該程序在那個終端上執行。

stat:顯示了程序當前的狀態,s(休眠),r(執行),z(僵死),< (高階先級),n(低優先順序),s(父程序),+(前台程序)。對於僵死狀態的程序應該基於手動終止。

start:啟動該程序的時間。

time:啟動該程序的時間

command:啟動該程序的命令名稱

若執行ps -elf命令,則會以長格式顯示所有程序,並且包含更豐富的內容,例如,輸出資訊中還包括ppid列(表示對應程序的父程序的pid號)

直接執行ps 不新增任何引數的話,只會顯示當前正在執行的程序

由於執行命令以後顯示的程序數量較多,需要借用管道符和grep 對顯示的程序進行過濾,例如:檢視bash程序

ps -elf | grep bash

2. top命令:檢視程序動態資訊

top可以動態的檢視程序資訊,cpu,記憶體等系統資源的占用情況,預設情況下每三秒更新一次,類似於win的任務管理器

top命令輸出解釋

cpu占用資訊:us,使用者占用;sy 核心占用;ni 優先順序排程占用;id 空閒cpu;wa i/o等待占用;hi 硬體中斷占用;si 軟體中斷占用;st 虛擬化占用,要了解空閒的cpu百分比,主要是看%id部分。

記憶體占用資訊:total 總記憶體空間;used 已用記憶體;free 空閒記憶體;buffers 緩衝區域

交換空間占用:同上

3. pgrep命令:查詢程序資訊

pgrep [引數] [程序名]

-l 查詢名字

-u 後面跟使用者,查詢某使用者執行的程序

-t 查詢執行在特定終端上的程序

例:pgrep -l -u dyq -t tty1

4. pstree命令:檢視程序樹

pstree命令可以輸出linux系統中各程序的樹形結構

格式:pstree [引數] [使用者名稱/服務名等]

-p 選項使用時可以同時列出對應的pid號

-u 選項可以列出對應的使用者名稱

-a 選項可以列出完整的命令資訊

例:pgrep -ap dyq

1. 啟動進行並後台執行

程序可以分為前台執行和後台執行兩種,前台執行需要等待執行完成後才可以執行下乙個命令,後台執行的話,可以直接執行下乙個命令。

怎麼讓程序在後台執行呢:在命令後面新增「&」,有空格

例如:service vncserver restart &

2. 掛起當前的程序(調入後台並停止執行)

ctrl+z

當程序正在執行的時候按ctrl+z鍵可以停止執行服務並呼叫到後台

3. 檢視後台的程序

jobs -l 檢視隱藏的程序

4. 恢復後台執行程序

bg [程序編號](backgrourd,後台),可以檢視後台程序來檢視後台程序的編號

恢復後在前台執行

fg [程序編號](foreground,前台)

這裡已經有解決辦法了,fg命令才能把後台執行的程序轉義到前台來

*注:整了個ping 命令,bg 1 以後在螢幕上不停的ping怎麼也停不了,最後檢視ping 程序的uip號,給kill掉了。

當ctrl+c 無法終止執行的程序,或者需要結束其他終端上執行的程序的時候,就要用到kill,killall,pkill*

5. 使用kill終止程序執行(單體傷害)

使用kill命令前,要使用程序的pid號作為引數

pgrep -l 「ping」

kill 1

如果程序無反應,則需要用 -9 引數強殺,越塔強殺後程序的資料會丟失,所以不到萬不得已別強殺

kill [-9] [程序uid]

6. killall(範圍傷害)

killall 可以通過使用者名稱殺掉程序,例如同時開了好幾個vim程序

killall vim

killall 也有強殺

killall -9 vim

7. pkill 殺掉指定的程序(直線傷害)

格式:pkill [引數] [使用者/終端號]

引數:-u 指定使用者

-t 指定終端

-9 強殺

例子:pkill -9 -u 『shasha』

ps檢視程序

你可以使用ps命令。它能顯示當前執行中程序的相關資訊,包括程序的pid。linux和unix都支援ps命令,顯示所有執行中程序的相關資訊。ps命令能提供乙份當前程序的快照。如果你想狀態可以自動重新整理,可以使用top命令。ps命令 輸入下面的ps命令,顯示所有執行中的程序 ps aux less其中...

ps檢視程序

你可以使用ps命令。它能顯示當前執行中程序的相關資訊,包括程序的pid。linux和unix都支援ps命令,顯示所有執行中程序的相關資訊。ps命令能提供乙份當前程序的快照。如果你想狀態可以自動重新整理,可以使用top命令。ps命令 輸入下面的ps命令,顯示所有執行中的程序 ps aux less其中...

程序檢視命令 ps

ps 命令及其引數 ps 命令最經常使用地還是用於監控後台程序地工作情況,因為後台程序是不和螢幕鍵盤這些標準輸入 輸出設 備進行通訊地,所以如果需要檢測其情況,便可以運用 ps 命令了.該命令語法格式如下 ps 選項 e 顯示所有程序,環境變數 f 全格式 h 不顯示標題 l 長格式 w 寬輸出 a...