1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
#![deny(missing_docs)]
#![warn(clippy::unwrap_used)]
//! `libproc` is a library for getting information about running processes on Mac and Linux.
//!
//! Not all methods are available on both Operating Systems yet, but more will be made
//! cross-platform over time.
//!
//! Get information (such as name, path, process info, fd) about running processes by pid, process type, etc.
//!
//! At the moment these methods have been implemented, most of which have examples in their docs:
//!
/// List processes by type, path or by type and path.
pub mod processes;
#[doc(inline)]
/// Get information about processes using mainly the `pid`
pub use libproc::proc_pid;
#[doc(inline)]
/// Read messages from the Kernel Message Buffer
pub use libproc::kmesg_buffer;
#[doc(inline)]
/// Get information about resource usage of processes
pub use libproc::pid_rusage;
#[cfg(any(target_os = "macos", doc))]
#[doc(inline)]
/// Get information specific to BSD/Darwin on macos
pub use libproc::bsd_info;
#[cfg(any(target_os = "macos", doc))]
#[doc(inline)]
/// Get information about a process's use of different types of file descriptors
pub use libproc::file_info;
#[cfg(any(target_os = "macos", doc))]
#[doc(inline)]
/// Get information about a processes use of network, sockets etc.
pub use libproc::net_info;
#[cfg(any(target_os = "macos", doc))]
#[doc(inline)]
/// Get information about a process's BSD Tasks
pub use libproc::task_info;
#[cfg(any(target_os = "macos", doc))]
#[doc(inline)]
/// Get information about threads within a process
pub use libproc::thread_info;
#[cfg(any(target_os = "macos", doc))]
#[doc(inline)]
/// Get information about Work Queues
pub use libproc::work_queue_info;
// Not documenting this as this export is legacy, and replaced by all the re-exports of
// sub-modules above
#[doc(hidden)]
pub mod libproc;
#[cfg(target_os = "macos")]
#[allow(warnings, missing_docs)]
mod osx_libproc_bindings {
include!(concat!(env!("OUT_DIR"), "/osx_libproc_bindings.rs"));
}