人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

pgrepについての質問です。

% java hoge
とした後に
% pgrep -fl ”java hoge”
とするのと
% ps ax | grep ”[j]ava hoge”
とするのでは、
出力されるプロセス数が違うのですが、何故でしょうか。

●質問者: diabah_blue
●カテゴリ:コンピュータ
✍キーワード:AX Fl grep hoge Java
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● satobon
●25ポイント

http://www.yahoo.co.jp/

Yahoo! JAPAN

URLはダミーです。

それって、pgrepそのものが引っかかってるか、そうでないかの差ではないかと…。

違ってるのは、pgrepがはいってるか、入ってないかの差じゃないですか?

◎質問者からの返答

回答ありがとうございます。

ですが、違うと思います。

実際にやっていただければ分かると思うのですが、

表示されるPIDのリストにはpgrepは含まれません。

(私の環境だけかもしれませんけど)

以下、質問の内容を

% pgrep -fl ”[j]ava hoge”

% ps ax | grep ”[j]ava hoge”

との比較に改めさせていただきます。

よろしくお願いいたします。


2 ● hmom
●25ポイント

http://www.linux.or.jp/JM/html/procps/man1/pgrep.1.html

Manpage of PGREP

> 動作中の pgerp と pkill プロセスは、自分自身には決してマッチしない。

とありますので、

前者はpgrepは含まれず、

後者はgrepが含まれているということでは?

# こんなコマンドあったんですね。確かに自分自身がひっかかるのは不便な場合もありそうです。

数の違いは一つですか?

(wcにパイプしてみると簡単に分かります。)

◎質問者からの返答

回答ありがとうございます。

% pgrep -fl ”[j]ava hoge” の結果の行数は9

% ps ax | grep ”[j]ava hoge” の結果の行数は1

です。

また、繰り返しになりますが、

pgrep実行時はその仕様により表示されるPIDのリストにはpgrep自身は含まれまず、

grep実行時は正規表現上のトリックにより表示されるPIDのリストにはgrep自身は含まれません。

----

自己解決したのでこちらに追記します。

結局ただのスレッドでした。

つまり下記2つの結果の行数は一致します。

% pgrep -fl ”[j]ava hoge”

% ps axm | grep ”[j]ava ReadKey”

以上です。お騒がせしました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ