ps aux|grep

Ikeepmoving發表於2015-07-21

ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。
2)ps -A 顯示所有程式。 
3)ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。 
4)ps -e 此引數的效果和指定"A"引數相同。 
5)ps e 列出程式時,顯示每個程式所使用的環境變數。 
6)ps f 用ASCII字元顯示樹狀結構,表達程式間的相互關係。 
7)ps -H 顯示樹狀結構,表示程式間的相互關係。 
8)ps -N 顯示所有的程式,除了執行ps指令終端機下的程式之外。 
9)ps s 採用程式訊號的格式顯示程式狀況。 
10)ps S 列出程式時,包括已中斷的子程式資料。 
11)ps -t  指定終端機編號,並列出屬於該終端機的程式的狀況。 
12)ps u  以使用者為主的格式來顯示程式狀況。 
13)ps x  顯示所有程式,不以終端機來區分。
ps是顯示當前狀態處於running的程式,grep表示在這些裡搜尋,而ps aux是顯示所有程式和其狀態。

$ ps aux | grep amoeba

查到amoeba的程式

$ kill -s 9 pid

殺死程式

備註:

grep 後加單引號、雙引號和不加引號的區別

單引號:

 

可以說是所見即所得:即將單引號內的內容原樣輸出,或者描述為單引號裡面看到的是什麼就會輸出什麼。單引號''是全引用,被單引號括起的內容不管是常量還是變數者不會發生替換。

 

雙引號:

 

把雙引號內的內容輸出出來;如果內容中有命令、變數等,會先把變數、命令解析出結果,然後在輸出最終內容來。雙引號""是部分引用,被雙引號括起的內容常量還是常量,變數則會發生替換,替換成變數內容。

 

不加引號:

 

不會將含有空格的字串視為一個整體輸出如果內容中有命令、變數等,會先把變數、命令解析出結果,然後在輸出最終內容來,如果字串中帶有空格等特殊字元,則不能完整的輸出,需要改加雙引號,一般連續的字串,數字,路徑等可以用。

使用規則:

 

一般常量用單引號''括起,如果含有變數則用雙引號""括起。

 

最大不同:

 

單引號與雙引號的最大不同在於雙引號仍然可以保有變數的內容,但單引號內僅能是一般字

元,而不會有特殊符號

 

使用舉例:

 

“”號裡面遇到$\等特殊字元會進行相應的變數替換

‘’號裡面的所有字元都保持原樣

對於字串,兩者相同

匹配模式也大致相同

但有一些區別非常容易混淆

 

grep "$a" file        #引用變數a,查詢變數a的值

 

grep '$a' file        #查詢“$a”字串

 

grep "\\" file        #grep: Trailing backslash(不知原因)

 

grep '\\' file        #查詢‘\’字元

 

1美元符

 

2反斜槓

 

3反引號

 

4" 雙引號

這四個字元在雙引號中是具有特殊含義的,其他都沒有,而單引號使所有字元都失去特殊含義

 

如果用雙引號,查詢一個\,就應該用四個\:

grep "\\\\" file 這樣就對了,這樣等同於:

grep '\\' file

 

第一條命令shell把四個\,轉義成2\傳遞給grepgrep再把2\轉義成一個\查詢

第二條命令shell沒轉義,直接把2\傳遞給grepgrep再把2\轉義成一個\查詢

其實grep執行的是相同的命令






相關文章