2011-04-04 44 views
0

ps -ef | grep "someprocess"輸出線包含:執行的命令的(意外的行爲)

 
.........................someprocess 
.........................ps -ef | grep "someprocess" 

有人能解釋一下如何得到執行?

如果我檢查正在運行或不將永諾來跑步,因爲 ps -ef | grep "someprocess"將永遠存在 當然,我知道我能做到ps -ef | grep "someprocess" | grep -v 'grep'

的過程,但我想知道的過程上述執行情況清楚。爲什麼會說我只是執行的行(ps -ef | grep "someprocess「)在搜索的過程

回答

1

this blog post

爲什麼grep展會本身是因爲管道是由外殼瞬間之前ps產生的?執行,所以當所有的加載過程,後者的搜索甚至grep被發現。

+0

謝謝,Bemmu我得到了它 – mukesh 2011-04-04 09:29:45

+0

@mukesh:歡迎計算器! [謝謝,我明白了](http://stackoverflow.com/faq#howtoask)最好用答案旁邊的綠色勾號表示,以解決您的問題。 – Johnsyweb 2011-04-04 11:09:45

1

或者使用

pgrep -fl somepattern 

不會默認

同樣顯示和pgrep過程中,pkill的將不會殺死自己:)