web-dev-qa-db-ja.com

OS Xのターミナルでプロセスを調べる方法は?

OS Xで実行中のプロセスの情報を表示したいと思います。ターミナルでpsを実行すると、開いているターミナルウィンドウが一覧表示されます。実行中のすべてのプロセスを表示するにはどうすればよいですか?

Webブラウザー、ターミナル、テキストエディターを実行しているとします。テキストエディタとウェブブラウザの情報をご覧ください。

62
SundayMonday

topを使用するだけで、OSXで実行中のすべてが表示されます

46
camilo_u

ps -eを実行するとうまくいきます。答えを見つけました here

60
SundayMonday

toppsを使用しても構いませんが、 htop を使用することは、Mac OS Xが使用する標準ツールよりもはるかに優れていることがわかります。私のお気に入りは、実行中にTキーを押して、ツリービューでプロセスを表示することです(スクリーンショットを参照)。他のプロセスと相互に依存しているプロセスを示します。

htop on OSX

以下を使用してHomebrewからインストールできます。

brew install htop

Xcodeとgitなどの関連ツールがシステムにインストールされており、最新の開発コードを 公式ソースリポジトリ からインストールする場合は、次の手順に従ってください。

最初にhtop GitHubリポジトリからソースコードを複製します。

git clone [email protected]:hishamhm/htop.git

リポジトリディレクトリに移動します。

cd htop

autogen.shを実行します:

./autogen.sh

このconfigureコマンドを実行します。

./configure

configureプロセスが完了したら、makeを実行します。

make

最後にSudo make installを実行してインストールします:

Sudo make install
43
JakeGould

ps -efを試してください。 man psはすべてのオプションを提供します。

 -A      Display information about other users' processes, including those without controlling terminals.

 -e      Identical to -A.

 -f      Display the uid, pid, parent pid, recent CPU usage, process start time, controlling tty, elapsed CPU usage, and the associated command.  If the -u option is also used, display
         the user name rather then the numeric uid.  When -o or -O is used to add to the display following -f, the command field is not truncated as severely as it is in other formats.
19
Dave

topコマンドを試してください。実行中のプロセスを表示する対話型コマンドです。

Appleの「Activity Monitor」アプリケーション(/Applications/Utilities/にあります)を使用することもできます。

それは実際に非常に素晴らしいGUIを提供します。実行中のすべてのプロセスを確認し、ユーザーごとにフィルタリングし、それらに関する詳細な情報(CPU、メモリ、ネットワークなど)を取得し、監視することができます。

おそらく、端末に固執したい場合を除き、おそらく最良の選択です(このような場合、topまたはpsマニュアルをお読みください。これらのコマンドには多くのオプションがあります)。

7
Macmade

CPU使用量でソートするには:top -o cpu

4
Toe

psを使用している場合は、マニュアルを確認できます

man ps

必要なものを作成できるキーワードのリストがあります。たとえば、表示するには、userid/processid/percent cpu/percent memory/work queue/command:

ps -e -o "uid pid pcpu pmem wq comm"

-eは-A(すべてを含む、ユーザーのプロセスなど)に似ており、-oはフォーマットを強制します。

特定のuidを探している場合、次のようなawkまたはgrepを使用してチェーンできます。

ps -e -o "uid pid pcpu pmem wq comm" | grep 501

これは(ほぼ)userid 501に対してのみ表示されます。試してください。

0
Jimmy M.G. Lim