ps コマンド - ユーザーに関係なく、特定のコマンドを使用するすべてのプロセスを一覧表示します。

ps コマンド - ユーザーに関係なく、特定のコマンドを使用するすべてのプロセスを一覧表示します。

ユーザーが実行しているかどうかにかかわらず、すべての「php-fpm」プロセスの概要を見たいです。

私が理解したのは、通常、man ps現在のユーザーがターミナルで開始したプロセスだけです。したがって、ps -C php-fpm何も生産されません。しかし、マニュアルページには制限を解除する唯一の方法はax次のようなものを使うことだと示されているようです。すべてのプロセスを追加その結果、フィルタに一致する項目

大きなpsを実行してからgrepを使用する唯一の方法ですか?私が何かを逃したのは間違いありませんか?

私はDebian Linuxでpsを使用しており、マニュアルページによると、次のことを確認しています。

  1. シングルUnix仕様バージョン2
  2. オープングループ技術標準基本仕様、6号
  3. IEEE規格1003.1、2004年版
  4. X/オープンシステムインターフェース拡張 [UP XSI]
  5. ISO/IEC 9945:2003

答え1

コマンド名と一致する必要があります正確に:

ps -fC php-fpm7.0

(Debian 9 で).

ps -C

現在、ユーザーのプロセスに限定されませんが、コマンド名の部分文字列と一致しません。

答え2

pgrep渡すPIDのリストを取得するために使用されますps

pgrep php-fpm | xargs ps xu

答え3

pgrepすでにインストールされている場合は、

pgrep php-fpm

一致するすべてのコマンドのプロセスIDが印刷されますphp-fpm。コマンドも表示するにはを追加してください-l

php-fpm実際のコマンド自体ではなくコマンドラインの一部である場合は、呼び出し-fに追加してください。pgrepを使用すると、使用されたコマンド-lfラインpgrep全体が表示されます。

関連情報