1. 程式人生 > >程序監控top free ps grep pgrep pkill kill & bg fg jobs nohup ctrl+z pstree

程序監控top free ps grep pgrep pkill kill & bg fg jobs nohup ctrl+z pstree

一、top命令

https://blog.csdn.net/gxiaop/article/details/55096686

 

 

1是顯示其他cpu內容

M按照記憶體排序

P按照cpu排序

K 殺掉某個進行

nice 表示優先順序改動過的,優先順序數字越低,優先度越大

top -p 1234 顯示1234的情況

二、free命令

free 按照kb顯示

free -m 按照m顯示

free -h 按照G顯示

三、ps命令

https://blog.csdn.net/u014636209/article/details/82141742

ps -aux

ps aux --sort -pmem,+pcpu 按照記憶體降序,cpu升序查詢,

 

 

程序屬主 程序id cpu 記憶體 虛擬大小 頁數 終端ID 狀態 開始時間 執行時間 命令

STAT 程序狀態(有以下幾種)

D 無法中斷的休眠狀態(通常 IO 的程序);

R 正在執行可中在佇列中可過行的;

S 處於休眠狀態;

T 停止或被追蹤;

W 進入記憶體交換(從核心2.6開始無效);

X 死掉的程序(從來沒見過);

Z 殭屍程序;

< 優先順序高的程序

N 優先順序較低的程序

L 有些頁被鎖進記憶體;

s 程序的領導者(在它之下有子程序);

l 多程序的(使用 CLONE_THREAD, 類似 NPTL pthreads);

+ 位於後臺的程序組;

ps -ef

最好加上-,否則資訊很大。。。

 

 

使用者ID 程序ID 父程序ID cpu 啟動時間 終端ID 執行時間 命令

ps 根據uid來選擇檢視程序

  • ps -C 根據cmd命令來選
  • ps -G 根據組ID來選
  • ps -p 根據程序id來選
  • ps -s sessionID 來選
  • ps -t 根據tty 來選
  • ps -u 根據使用者選

具體格式可以加f

ps -o 自定義格式

ps -o user,uid,uname,group,gid,args=COMMAND,cmd,tty,time,pmem.pcpu

中間加,或者再寫個-o

四、grep fgrep pgrep egrep

https://blog.csdn.net/xiaoxinyu316/article/details/46729443

https://blog.csdn.net/weixin_42558057/article/details/82758467

grep 全域性正則表示式列印

Global Regular Expressions Print

grep <flags> '<regular expression>' <filename>

grep '\<Tom\>' file   包含單詞Tom的行

grep 'Tom savage' file 包含Tom savage的行

grep '^Tommy' file 包含以Tommy開頭的行

grep '\.bak$' file 包含以.bak結束的行

grep '[Pp]yramid' file 包含pyramid 或Pyramid的單詞的行

grep '[A-Z]' file 包含至少一個大寫字母的行

grep '[0-9]' file 包含至少一個數字的行

grep '[A-Z]...[0-9]' file 包含五個字元,以大寫開頭, 和一個數字結尾的行.

grep -w '[tT]est' file 包含單詞和test的行.

grep -s 'ken sun' file 找到包含ken sun的行, 但不列印行, 而是用來檢查退出狀態.

grep -v aaa file 列印不包含aaa的行.

grep -i cathy file 列印所有包含cathy的行, 而不考慮大小些.

grep -l 'dear cathy' * 列印包含dear cathy的檔案的檔名清單.

grep -n tom file   列印匹配的行並追加行號.

grep "$LOGNAME" file 包含變數內容的行, 注意必須用雙引號, 單引號則無法引用變數.

grep '$name' file 列印包含字元$name的行.

fgrep 固定字串全域性正則表示式列印

Fixed-string Global Regular Expressions Print

fgrep "$name...[a-z]" file 就是在file裡面找到和字元$name...[a-z]一樣的行. 其中$和...等沒有轉義的意義.

pgrep 程序ID全域性正則表示式列印

Process-ID Global Regular Expressions Print

pgrep -l bash 全顯示

 

 

pgrep -c bash 查詢

 

 

pgrep bash 查詢pid

 

 

pgrep -U uid 按uid 來查詢

egrep 擴充套件正則表示式列印

Extended Global Regular Expressions Print

擴充套件表示式:

+ 匹配一個或者多個先前的字元, 至少一個先前字元.

? 匹配0個或者多個先前字元.

a|b|c 匹配a或b或c

() 字元組, 如: love(able|ers) 匹配loveable或lovers.

(..)(..)\1\2 模板匹配. \1代表前面第一個模板, \2代第二個括弧裡面的模板.

x{m,n} =x\{m,n\} x的字元數量在m到n個之間.

egrep '^ +' file   以一個或者多個空格開頭的行.

grep '^ *' file   同上

egrep '(TOM|DAN) SAVAGE' file 包含 TOM SAVAGE 和DAN SAVAGE的行.

egrep '(ab)+' file 包含至少一個ab的行.

egrep 'x[0-9]?' file 包含x或者x後面跟著0個或者多個數字的行.

egrep 'fun\.$' * 所有檔案裡面以fun.結尾的行.

egrep '[A-Z]+' file 至少包含一個大寫字母的行.

egrep '[0-9]' file 至少一個數字的行.

egrep '[A-Z]...[0-9]' file 有五個字元, 第一個式大寫, 最後一個是數字的行.

egrep '[tT]est' file 包含單詞test或Test的行.

egrep 'ken sun' file 包含ken sun的行.

egrep -v 'marry' file 不包含marry的行.

egrep -i 'sam' file 不考慮sam的大小寫,含有sam的行.

egrep -l "dear ken" * 包含dear ken的所有檔案的清單.

egrep -n tom file 包含tom的行, 每行前面追加行號.

egrep -s "$name" file 找到變數名$name的, 不列印而是顯示退出狀態. 0表示找到. 1表示表示式沒找到符合要求的, 2表示檔案沒找到.

 

五、pkill kill killall

https://blog.csdn.net/xc_zhou/article/details/80768891

killall 按全名字全殺

killall 引數 程序名字

-9 強制殺死 是終止訊號

kill -19 程序名 傳送暫停訊號

kill -18 程序名 傳送繼續訊號

killal -l 列出已知訊號

kill -l KILL 查詢指定訊號的數字

kill 單程序殺死

kill [引數] [程序id]

kill %1 殺死 jobid

kill -9 程序號 殺死程序

pkill 按近似名字全殺

pkill 程序名字

pkill和killall區別,killall是全名稱殺死,pkill近似的都殺死

pkill awk 所有awk名字全殺死

六、& bg fg jobs nohup ctrl+z

http://www.cnblogs.com/cy-8593/p/9523605.html

&

掛起後臺執行,一旦斷開終端,則任務終止

fg %N

fg %1 把後臺程式放到前端

bg %N

bg %1 把工作好1號的任務繼續執行

nohup

終端退出任務繼續執行,一般和nohup CMD & 一起用

jobs

檢視終端掛起來的任務

ctrl+z

終止執行,掛起到後端,可以kill -18 xxxx 或者bg %1繼續執行

七、pstree 程序樹

pstree 預設相當於pstree -p 1 從程序1擴展出來的程序

pstree -p pid 可以看某個ID 的程序樹,往後擴充套件

pstree -p 2 守護程序樹 不接受任何終端控制