回文章列表
作者kenduest.bbs@bbs.sayya.org (小州) 看板: linux
標題Re: [問題] ps + grep
時間SayYA 資訊站 (2008/06/24 Tue 12:55:32)
※ 引述《everydate.bbs@ptt.cc (月)》之銘言:
> 請問一下
> 如果我要用 ps 去找某一個行程是否在執行中
> (ex) ps | grep "testprocess"
> 結果會永遠會有結果  因為它連這個動作都算進去了
> 5407 root        304 S   grep testprocess
> 這樣就不能用了 ...
> 如果我先把結果先寫到某個檔案 ,再去 grep
>  ps > tmp.txt
>  cat "tmp.txt" | grep "testprocess"
> 這樣又會受到長度限制
> 因為我發現只要某一行的長度太長 它就不會完整顯示在 tmp.txt
> (ex)
> 605 root        884 S   /usr/sbin/runnetwork -a 192.168.0.1 -c /etc/ ..... (後
> 面的都沒有了,只印到一半)
> 而我要判斷的 key 就這樣被切掉了....
> 請問有什麼方法可以解決這問題嗎?謝謝  ^^

  1. ps 可以使用 -w 參數,多用幾次可以避免被截斷。ex: ps axwww | grep "xxx"

  2. 至於統計到本身 grep 的使用,可以於 grep 搭配 -v 避開相關
     字串不包含進去。

  3. 不過個人建議可以使用 pgrep 可以直接統計是否該程式有執行。ex:

        pgrep "xxxxxx"

     有顯示 pid 編號就是表示有找到。

--
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

   現代人普遍的現象:  「小學而大遺」、「捨本而逐末」
                      「以偏而概全」、「因噎而廢食」
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--
※ Origin: SayYA 資訊站 <bbs.sayya.org> 
◆ From: localhost
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻