web-dev-qa-db-ja.com

実行中のプロセスを確認するにはどうすればよいですか?

Ubuntu Server 10.10を使用していますが、実行中のプロセスを確認したいと思います。私のマシンではPostgreSQLが実行されていることはわかっていますが、topまたはpsコマンドではPostgreSQLが表示されないため、実行中のすべてのプロセスが表示されていないと思います。実行中のすべてのプロセスを表示する別のコマンドはありますか、またはこのためにtopまたはpsで使用できる他のパラメーターはありますか?

22
Jonas

ps manページから:

-eすべてのプロセスを選択します。 -Aと同じです。

したがって、ps -eはすべてのプロセスを表示します。 「私にすべてを与える」ための一般的なオプションはps -elyまたはps aux、後者はBSDスタイルです。多くの場合、人々はこの出力をgrepにパイプして、xenoterracideの回答のようにプロセスを検索します。出力にgrep自体も表示されないようにするために、次のようなものが表示されることがよくあります。

 ps -ef | grep [f]oo

fooは、探しているプロセス名です。

ただし、特定のプロセスを探している場合は、pgrepコマンドを使用できる場合はそれを使用することをお勧めします。 Ubuntu Serverで利用できると思います。 pgrepを使用すると、上記の競合状態を回避できます。また、複製にますます複雑なgrepトリックを必要とする他のいくつかの機能も提供します。構文は簡単です:

pgrep foo

fooは、探しているプロセスです。デフォルトでは、プロセスのプロセスID(PID)が見つかれば、それを出力します。見る man pgrepその他の出力オプション。私は次のページがとても役に立ちました:

http://mywiki.wooledge.org/ProcessManagement

26
Steven D

ps aux | grep postgresを試しましたか? postgresが実行されている場合は、実際に表示されます。そうでない場合... postgresが実行されていることをどのように確認しますか?

(注:ps -auxであるというのはよくある誤解ですが、それは正しくありません)

3
xenoterracide