天天看點

Linux_系統程序管理

目錄

  • ​​目錄​​
  • ​程序管理​
  • ​程序管理的指令​
  • ​​檢視程序ps指令​​
  • ​​pgreppidof指令查pid​​
  • ​​lsof檢視系統中的程序​​
  • ​​nice指令修改程序的nice值​​
  • ​​kill指令結束程序​​
  • ​top系統程序管理器任務管理器​
  • ​​程序狀态​​
  • ​​top快捷鍵​​
  • ​​top界面資訊的意義​​

程序管理

程序的定義:程式在運作時進入記憶體,就叫程序。程序是動态的,是cpu的資源和記憶體。

前台程序:獨占Bash

将前台程序調到背景運作: 指令 & 、ctrl+z

背景程序:可以釋放Bash

檢視背景程序任務号: jobs

在背景繼續運作:bg % 任務号、

将背景程序調到前台運作: fg % 任務号

以不依賴bash的方式運作程序:關閉終端,其程序依然運作

nohup firefox & >/dev/null      

不依賴Bash打開火狐浏覽器

程序管理的指令

檢視程序ps指令

ps 不加選項的話,隻能檢視目前終端的程序 ,可以有下列選項:

ps -aux  #列出所有程序的詳細資訊
ps -eux  #顯示的内容更多
ps -ef
ps -o
ps -efx -o %cpu,pod  #檢視某些特定資訊
ps aux | sort -k 3 #将第3列參數正向排序,-r反向排序      

程序資訊清單中各個項目代表的意義 :

USER ⇒ 程序的擁有者

PID ⇒ 程序的 ID 号

%cpu ⇒ 程序占用的 cpu 的百分比

%MEM ⇒ 程序占用記憶體的百分比

PPID ⇒ 父程序

NI ⇒ 程序的 nice 值,數值越大,表示占用 cpu 時間少

VSZ ⇒ 程序的虛拟記憶體的使用量(kb)

RSS ⇒ 程序真實記憶體使用量(kb)

TTY ⇒ 程序在哪個終端運作,如果是?,表示沒有在任何終端運作

START ⇒ 程序運作的開始時間

STAT ⇒ 程序狀态

D ⇒ 無法中斷的睡眠

R ⇒ 正在運作

S ⇒ 休眠

T ⇒ 停止

W ⇒ 進入了記憶體交換

X ⇒ 死了的程序

Z ⇒ 僵屍程序

< ⇒ 優先級高的程序

N ⇒ 優先級低的程序

+ ⇒ 程序在背景 x

TIME ⇒ 程序實際運作的時間

COMMAND ⇒ 程序運作了什麼指令

pgrep、pidof指令查pid

lsof檢視系統中的程序

lsof -i | grep httpd 檢視某個程序的情況      

nice指令修改程序的nice值

nice -n -20 程式名 #沒有運作的程式
renice -n -20 pid #已經運作的程序
nice -n nice 程式名/指令 #nice = [-20,19]      

kill指令結束程序

kill pid #整潔的結束程序
kill -9 pid #強行殺掉程序,不推薦      

top系統程序管理器(任務管理器)

top指令,動态檢視程序。可以有下列的操作

top -d 1  #每隔 1s 重新整理 1 次 ,預設每 3s 重新整理一次       

程序狀态

S ⇒ Sleep,可以響應别人的信号被喚醒。

R ⇒ Running

D ⇒ 睡眠,與S不同,不可以響應别人的信号。

K ⇒ 可以被中斷的程序

T ⇒ Stop

Z ⇒ 僵屍程序,無法被釋放

top快捷鍵

M ⇒ 程序按使用記憶體量排序

P ⇒ 程序安CPU使用量排序

r ⇒ renice 修改正在運作的程序的nice值(r -> 回車-> inputPID -> 回車 -> input newNnice值)

k ⇒ 殺掉一個程序(k -> pid -> 信号)

killall 程式名 ⇒ (殺一類程序)

z ⇒ 改變顔色

看其他cpu狀态(看其他core)按 0,1,2,3

top界面資訊的意義

load average ⇒ 1分鐘負載,5分鐘負載,16分鐘負載,也可以用uptime指令得到負載參數,一般用于腳本

PR ⇒ :優先級