OS Xで実行中のプロセスの情報を表示したいと思います。ターミナルでps
を実行すると、開いているターミナルウィンドウが一覧表示されます。実行中のすべてのプロセスを表示するにはどうすればよいですか?
Webブラウザー、ターミナル、テキストエディターを実行しているとします。テキストエディタとウェブブラウザの情報をご覧ください。
top
を使用するだけで、OSXで実行中のすべてが表示されます
ps -e
を実行するとうまくいきます。答えを見つけました here 。
top
とps
を使用しても構いませんが、 htop
を使用することは、Mac OS Xが使用する標準ツールよりもはるかに優れていることがわかります。私のお気に入りは、実行中にT
キーを押して、ツリービューでプロセスを表示することです(スクリーンショットを参照)。他のプロセスと相互に依存しているプロセスを示します。
以下を使用して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
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.
top
コマンドを試してください。実行中のプロセスを表示する対話型コマンドです。
Appleの「Activity Monitor」アプリケーション(/Applications/Utilities/
にあります)を使用することもできます。
それは実際に非常に素晴らしいGUIを提供します。実行中のすべてのプロセスを確認し、ユーザーごとにフィルタリングし、それらに関する詳細な情報(CPU、メモリ、ネットワークなど)を取得し、監視することができます。
おそらく、端末に固執したい場合を除き、おそらく最良の選択です(このような場合、top
またはps
マニュアルをお読みください。これらのコマンドには多くのオプションがあります)。
CPU使用量でソートするには:top -o cpu
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に対してのみ表示されます。試してください。