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


21

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

回答:


26

psmanページから:

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

したがって、ps -eすべてのプロセスが表示されます。「私にすべてを与える」ための一般的なオプションがあるps -elyps 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


psフラグを知らずに何パーセントの人が使っているのだろうか。私はauxいつもそれを投げます。個々のフラグが実際に何を制御しているかわからない
マイケル・ムロゼック

3

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

(注:よくある誤解であるps -auxが、正しくない)


おかげで、ps auxうまく機能し、約70のプロセスが表示されましたが、ps2つしか表示されませんでした。起動時に起動し、シャットダウン時に停止したことがわかったため、PostgreSQLが実行されていたことがわかります。
ジョナス

@Jonasの一部の初期化スクリプトは不完全に書かれています。何かが開始され、停止されたと言うだけで、彼らを信じないでください。ただ、いくつかのアドバイス
xenoterracide

これもありますpgrep。これにはps aux | grep postgres、プロセスリストでコマンド自体をキャッチして出力しないという利点があります
Michael Mrozek
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.