ホームページ >バックエンド開発 >C++ >`/proc` に直接アクセスせずに、実行中の Linux プロセスとその開いているファイルを一覧表示するにはどうすればよいですか?

`/proc` に直接アクセスせずに、実行中の Linux プロセスとその開いているファイルを一覧表示するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-11 11:39:19381ブラウズ

How Can I List Running Linux Processes and Their Open Files Without Directly Accessing `/proc`?

プロセスと関連する開いているファイルの列挙

質問:

リストを取得するにはどうすればよいですか? Linux システム上で実行中のプロセスを監視し、/proc/ ファイルの直接検査に頼ることなく、プロセスが開いているファイルを特定します。システム?

答え:

Procps-ng の使用

Procps-ng プロジェクトは、広くPS およびその他のプロセス調査ツールを使用しました。これらの実装では、/proc/ ファイル システムを利用してプロセス情報を収集します。彼らのアプローチの詳細については、ソース コード リポジトリの readproc.c ファイルを調べることができます。

https://gitlab.com/procps-ng/procps/-/blob/master/library/readproc.c

Libproc の利用

別の方法は、 libproc ライブラリは、プロセス情報にアクセスするための包括的な API を提供します。これはほとんどのリポジトリで利用可能であり、ヘッダーとその他の重要なコンポーネントを「-dev」バリアントで提供します。インストールの詳細については、特定のパッケージ マネージャーに問い合わせてください。

追加のヒント:

  • pmap コマンドを使用して、ターゲット プロセスが共有メモリにアクセスしているかどうかを確認します
  • 包括的なドキュメントについては、proc および libproc のマニュアル ページを参照してください

以上が`/proc` に直接アクセスせずに、実行中の Linux プロセスとその開いているファイルを一覧表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。