首頁 >後端開發 >C++ >如何列出Linux上正在運行的進程及其開啟的檔案?

如何列出Linux上正在運行的進程及其開啟的檔案?

Barbara Streisand
Barbara Streisand原創
2024-12-06 04:38:14767瀏覽

How Can I List Running Processes and Their Open Files on Linux?

如何列出Linux 上正在運行的進程及其打開的檔案

取得Linux 系統上正在運行的進程及其檔案的清單一個已經開放,使用者可以利用procps-ng 套件。此集合包含常用進程管理工具(例如 ps)的原始程式碼。

procps-ng 採用 proc 檔案系統,提供用於存取系統各個方面(包括正在運行的進程)的標準化介面。 procps-ng 原始程式碼中的 readproc.c 檔案提供了一個可移植程式庫,用於以獨立於系統的方式檢索有關進程的資訊。

或者,libproc 函式庫提供了用於此目的的 API。 libproc 在常見 Linux 發行版中作為軟體包提供,透過 proc_openfiles() 等函數提供對進程屬性的訪問,該函數會傳回指定進程的開啟檔案描述符清單。

透過利用 procps-ng 來源或 libproc API,開發人員可以有效地列出 Linux 系統上正在運行的進程及其關聯的開啟文件,而無需直接存取 proc 檔案系統。

以上是如何列出Linux上正在運行的進程及其開啟的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn