Microsoftは、広く知られるSysinternals Process ExplorerのネイティブmacOS実装版をリリースしました。これは標準のアクティビティモニタに代わる、高粒度の代替手段を提供します。SwiftとSwiftUIで構築されたこのツールは、Macに馴染みのあるWindowsスタイルのワークフローをもたらし、ユーザーはライブのプロセスツリー、モジュール、ハンドル、スレッドを、標準的なシステムユーティリティを超える詳細さで検査できるようになります。

様々なプロセス詳細を表示するSysinternals Process Explorer for Macインターフェースの詳細ビュー。
アプリケーションのインターフェースには、ハンドルやスレッドを検査するための特定のカラーコードと詳細なペインが含まれています。github.com

このビジュアルは、ライブプロセスツリーやモジュール検査用の下部ペインなど、アプリの特定のUI機能の説明をサポートするものです。

コア機能とUI

このアプリケーションは、ライブプロセスツリーと、水平方向にスクロール可能なメトリクス列を備えたフリーズされたプロセス名ペインを提供することで、Process Explorerのコア体験を再現しています。省略されたセルに対する即時ツールチップをサポートし、プロセスリストの静的分析を可能にするためのポーズ/レジューム更新機能も備えています。

ライブプロセスツリーとシステム情報を表示するSysinternals Process Explorer for Macアプリケーションのスクリーンショット。
Sysinternals Process Explorer for Macは、システムプロセスとリソース使用状況の高粒度なビューを提供します。github.com

この画像は、コア機能セクションで説明されているプロセスツリーとシステムメトリクスを示す、新しいmacOSアプリケーションの主要なインターフェースを例示しています。

リポジトリのエンゲージメント: スター 131; ウォッチ 2; フォーク 8
リポジトリのエンゲージメントgithub.com

HN Digestによるチャート。github.comの報告数値に基づく。数値はソースの表記通り。

ユーザーは、プロセスおよび下部ペインの両方のリストにおいて、タイプ入力による選択機能を通じてデータと対話できます。インターフェースには、CPU、メモリ、スワップ、ディスクI/O、ネットワークI/O、およびGPUの使用状況に関する要約データとグラフを表示する専用のシステム情報ウィンドウが含まれています。

「Sysinternals Process Explorer for Macは、コアなProcess Explorer体験のネイティブmacOS実装です。」

— GitHub - microsoft/Procexp-Mac: Process Explorer for MacOS

技術アーキテクチャとデータソース

このアプリは、Swift、SwiftUI、およびAppKitのモダンなスタックで構築されています。システムデータは、libproc、sysctl、Machホスト統計、Security.framework、IOKit、およびMetalを含む公開macOS APIを通じて収集されます。

全ユーザーの完全なプロセスリストの表示や特権プロセス制御の実行など、昇格した権限を必要とする操作を処理するために、アプリはオプションの特権ヘルパーを利用します。このヘルパーはXPCを介してアクセスされるlaunchdデーモンであり、ユーザーはシステム設定から承認することができます。

高度な監視とセキュリティ

基本的なプロセスリスト表示を超えて、このツールはローカルおよびリモートアドレス、TCP状態を表示し、非同期の逆DNSルックアップを実行するTCP/IPタブを提供します。また、署名者、証明書チェーン、Team ID、および公証ステータスを表示するセキュリティ/署名タブも備えています。

モジュールおよびイメージの検査については、アプリはメタデータ、署名検証、および「Finderで表示」や「オンラインで検索」への直接リンクを提供します。また、特定のイメージやプロセスの評判を確認するためのVirusTotal統合も含まれています。

制限とトレードオフ

macOSはすべてのデータソースを公開APIを通じて公開していないため、アクセスが拒否された場合、アプリケーションはデータを捏造するのではなく、特定の値を空白のままにします。一部のメトリクスは、同一ユーザーのプロセスに対してのみ、または特権ヘルパーがアクティブな場合にのみ利用可能です。

このツールは深い監視のために設計されているため、標準的なシステムツールと比較して、macOSユーザーにとってUIが「ネイティブ」とは感じられない場合があります。しかし、デフォルトのアクティビティモニタでは欠落していることが多いファイルハンドルやシステムコール関連の情報など、大幅に多くのデータポイントを提供します。

Hacker Newsの読者の反応

  • 技術的な指摘: ソフトウェアをテストしたあるコメント投稿者は、アプリケーションが初期のアルファ状態にあるように見え、必要な特権ヘルパーをインストールした後にインターフェースが空白になったと報告しています。 コメント ↗
  • 技術的な指摘: ツールの機能に問題を経験したユーザーは、CPUによるソートやビューモードの切り替えが正しく動作していないように見えると指摘しました。 コメント ↗
  • 技術的な指摘: あるコメント投稿者は、標準のアクティビティモニタは機能が不足しており読み込みも遅いため、このツールが有用な代替手段になり得ると提案しました。 コメント ↗
  • 技術的な指摘: 別のユーザーはLinux向けに同様のツールを開発した経験を共有し、プロセス検出や権限の制限をどのように処理しているかを強調しました。 コメント ↗

Hacker Newsのスレッドで出た意見の要約です。事実として検証されたものではありません。 議論の全文を読む ↗