Crates.io | pawd |
lib.rs | pawd |
version | 0.1.1 |
source | src |
created_at | 2023-11-14 02:02:50.809184 |
updated_at | 2023-11-16 02:25:01.66837 |
description | Process analysis & watcher daemon |
homepage | |
repository | https://lab.themackabu.dev/crates/pawd |
max_upload_size | |
id | 1034297 |
size | 8,322 |
Paw is a Rust library for monitoring and controlling child processes. It provides a simple API for spawning processes, reading their output, and getting their memory and CPU usage.
To use Paw, first create a new instance of the Paw
struct. You can specify the command to run, the arguments to pass to the command, and the duration to monitor the process for.
Once you have a Paw
instance, you can call the watch()
method to start monitoring the process. The watch()
method takes a callback function as an argument. The callback function will be called periodically with the current state of the process.
The PawResult
struct contains the following information about the process:
info
: Information about the process, such as its memory usage, CPU usage, and uptime.process
: Information about the process command, such as the command name and arguments.The PawDone
struct contains the following information about the process:
stdout
: The standard output of the process.code
: The exit code of the process.The following example shows how to use Paw to monitor a Node.js process:
use paw::{Paw, PawResult};
let paw = Paw::new("node", &["tests/test.js"], 500);
let callback = move |result: PawResult| {
println!("{:?}", result);
};
match paw.watch(callback) {
Ok(result) => println!("{:?}", result),
Err(error) => println!("{error}"),
}
To run the tests, simply run the following command:
cargo test