マイクロソフトは、過去数年間、Linuxとオープンソースの両方の利益のために称賛に値する仕事をしてきました。彼らは、VSCode、.NET、Teams、Edgeブラウザーなど、多くのアプリケーションをオープンソース化しました。リストに最近追加されたのは、 Process Monitorです。 。プロセスモニター、まもなく Procmon 、開発者がLinuxシステムでのsyscallアクティビティを便利かつ簡単に追跡できるようにします。
Process Monitorは、Sysinternalsスイートの従来のProcmonツールをLinuxで再考したものです。 Windows用のツールの。 Sysinternalsスイートは、Microsoft Windowsシステムを管理、診断、トラブルシューティング、および監視するためのいくつかのツールで構成されています。 ProcessMonitorはSysinternalsスイートの一部です。
プロセスモニターは、リアルタイムのファイルシステム、レジストリ、およびプロセス/スレッドアクティビティを表示するWindows用の高度な監視ツールです。 Windowsオペレーティングシステムでファイルシステム、レジストリ、プロセス、スレッド、DLLのアクティビティをリアルタイムで監視します。
もちろん、LinuxにはStrace
システムコールと信号を追跡します。 Straceはかっこいいですが、私の意見ではProcmonのビューは常にクリーンで優れていました。
Microsoftは数ヶ月前にLinux用のProcmonをリリースしました。 ProcmonはC++で書かれています そのソースコードはGitHubで無料で入手できます。
LinuxにProcessMonitorをインストールする
MicrosoftのLinuxソフトウェアリポジトリを追加したことを確認してください Linuxシステムで。たとえば、次のコマンドを実行して、UbuntuLinuxにMicrosoftLinuxリポジトリを追加します。
$ wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo apt update
Microsoftリポジトリを有効にした後、次のコマンドを実行してUbuntuにProcmonをインストールします。
$ sudo apt install procmon
他のLinuxディストリビューションでは、apt
を置き換えます ディストリビューションのパッケージマネージャーと一緒に。たとえば、次のコマンドを使用して、ProcmonをFedora、RHELにインストールできます。
$ sudo dnf install procmon
プロセスモニターを使用したLinuxでのSyscallアクティビティのトレース
Linuxシステム上のすべてのプロセスとシステムコールをトレースするには、Processmonitorをsudo
として起動します。 またはroot
オプションのないユーザー:
$ sudo procmon
出力例:
プロセスのイベントプロパティを表示するには、プロセスを選択してEnterキーを押します。
ファンクションキーF1を使用できます F9へ ヘルプの表示、プロセスの並べ替え、検索、フィルタリング、エクスポート、統計の表示など、さまざまなタスクを実行します。たとえば、 F8を押します。 トップ10のシステムコール統計を表示します。プロセスモニターを終了するには、q
を押します。 またはF9
キー。
現在、Procmon for Linuxには、限られた機能セットのみが含まれています。実際、これはプロセスモニターがWindowsで行うことのほんの一部のように見えます。 ProcmonがWindowsの場合と同じように完全である場合、Linux開発者にとってより役立つでしょう。詳細については、プロジェクトのGitHubページを参照してください。