GUIまたはCUIに関係なく、Unix/Linuxで Process Monitor に相当するものはありますか?
それが違いを生むなら、私はUbuntuを調べていますが、他のシステム(Mac、Fedoraなどの他のLinuxバリアントなど)に同等のものがある場合は、それらのどれかを知っていることも役に立ちます。
プロセスMonitorは、システムコール(ファイルの作成や書き込みなど)を監視するためのものですが、プロセスExplorerは、プロセスの状態を監視するためのものです(システムモニターのようなものです)。後者ではなく前者を求めています。 :-)
これのコンソールスタンバイはtop
ですが、私のお気に入りのhtop
のような代替手段があり、表示の柔軟性を高め、プロセスでさらにいくつかの操作を実行できます。
スクリプトでの使用に適した対話性の低いビューは、ps
プログラムとそのすべての親戚です。
編集:明確な質問に基づいて、strace
は、すべての読み取り/書き込み操作とos関数呼び出しを含む、特定のプロセスによって行われたシステムコールの監視を処理します。実行するプロセスに追跡またはアタッチしたいプログラムを実行する前に、コマンドラインでアクティブにすることができます。 shtop
で選択されたプロセス。
すべてのプロセスモニターの祖先は top
であり、多くのシステム監視ツールはtop
と呼ばれます。たとえば、ディスクI/Oを監視するには iotop
、システムリソースの束には atop
があります powertop
消費電力。
より詳細な情報が必要な場合、デフォルトでは追跡されません。 特定のプロセスが何をしているのかを監視するには、そのプロセスに対して strace
を呼び出します。たとえば、ファイルシステムへのアクセスのみに関心がある場合:
strace -s9999 -efile command_name # trace a program during its whole execution
strace -s9999 -efile -p1234 # trace a running program with the given PID
strace
はLinuxに固有ですが、他のシステムにも同様のツールがあります。Solarisではtruss
、* BSDではktrace
またはdtrace
などです。
特定のファイルまたは特定のディレクトリまたはディレクトリツリーで何が起こっているかを監視するには、 inotify機能 を使用します。
inotifywait -m .
繰り返しになりますが、この機能はLinuxに固有のものですが、他のほとんどのuniceには同様のシステムがあります。 kqueue * BSDの場合、および [〜#〜] fam [〜#〜] (当初はSGIからでしたが、現在多くのシステムでAPIとして利用可能です)。
Linuxですべてのシステムコールを監視するには、 監査サブシステム を使用できます。それは比較的最近のものであり、このトピックに関する文献はあまりありません。 auditctl
を検索するか、 auditctl
のマニュアルページ をお読みください。このサイトにはいくつかの例があります: ファイルアクセスの追跡 、 プロセス実行の追跡 。
lsof
とstrace
をご覧ください。 SysinternalのProcess Monitorは、実際にはFilemonとRegmonをいくつかの追加の拡張機能と組み合わせたものです。 top
コマンドは、Process Explorerに似ています。
私はこれに答えるのが本当に遅いですが、私はあなたが探しているものを正確に行うことを目的としたプロジェクトを始めました。ここでそれを見てください: https://github.com/alexandernst/monks
私はそのProcess Monitorを使用していませんが、わかる限り、Gnomeシステムのgnome-system-monitor
と同じです。 KDEを使用している場合は、おそらく似たようなものがあります。
dtrace4linuxを使用すると、カーネルの興味深い情報をトレースできます。 sysdigより強力であるように見えますが、残念ながらそれほどうまく動作していません。