Struct nu_system::ProcessInfo
source · pub struct ProcessInfo {Show 15 fields
pub pid: i32,
pub command: String,
pub ppid: i32,
pub start_time: DateTime<Local>,
pub cpu_info: CpuInfo,
pub memory_info: MemoryInfo,
pub disk_info: DiskInfo,
pub user: SidName,
pub groups: Vec<SidName>,
pub priority: u32,
pub thread: i32,
pub interval: Duration,
pub cmd: Vec<String>,
pub environ: Vec<String>,
pub cwd: PathBuf,
}
Fields§
§pid: i32
§command: String
§ppid: i32
§start_time: DateTime<Local>
§cpu_info: CpuInfo
§memory_info: MemoryInfo
§disk_info: DiskInfo
§user: SidName
§groups: Vec<SidName>
§priority: u32
§thread: i32
§interval: Duration
§cmd: Vec<String>
§environ: Vec<String>
§cwd: PathBuf
Implementations§
source§impl ProcessInfo
impl ProcessInfo
sourcepub fn pid(&self) -> i32
pub fn pid(&self) -> i32
PID of process
Examples found in repository?
examples/sys_demo.rs (line 19)
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
fn main() {
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "macos",
target_os = "windows"
))]
{
let cores = match std::thread::available_parallelism() {
Ok(p) => p.get(),
Err(_) => 1usize,
};
for run in 1..=10 {
for proc in nu_system::collect_proc(std::time::Duration::from_millis(100), false) {
if proc.cpu_usage() > 0.00001 {
println!(
"{} - {} - {} - {} - {:.2}% - {}M - {}M - {} procs",
run,
proc.pid(),
proc.name(),
proc.status(),
proc.cpu_usage() / cores as f64,
proc.mem_size() / (1024 * 1024),
proc.virtual_size() / (1024 * 1024),
cores,
)
}
}
std::thread::sleep(std::time::Duration::from_millis(1000));
}
}
}
sourcepub fn name(&self) -> String
pub fn name(&self) -> String
Name of command
Examples found in repository?
examples/sys_demo.rs (line 20)
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
fn main() {
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "macos",
target_os = "windows"
))]
{
let cores = match std::thread::available_parallelism() {
Ok(p) => p.get(),
Err(_) => 1usize,
};
for run in 1..=10 {
for proc in nu_system::collect_proc(std::time::Duration::from_millis(100), false) {
if proc.cpu_usage() > 0.00001 {
println!(
"{} - {} - {} - {} - {:.2}% - {}M - {}M - {} procs",
run,
proc.pid(),
proc.name(),
proc.status(),
proc.cpu_usage() / cores as f64,
proc.mem_size() / (1024 * 1024),
proc.virtual_size() / (1024 * 1024),
cores,
)
}
}
std::thread::sleep(std::time::Duration::from_millis(1000));
}
}
}
pub fn environ(&self) -> Vec<String>
pub fn cwd(&self) -> String
sourcepub fn status(&self) -> String
pub fn status(&self) -> String
Get the status of the process
Examples found in repository?
examples/sys_demo.rs (line 21)
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
fn main() {
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "macos",
target_os = "windows"
))]
{
let cores = match std::thread::available_parallelism() {
Ok(p) => p.get(),
Err(_) => 1usize,
};
for run in 1..=10 {
for proc in nu_system::collect_proc(std::time::Duration::from_millis(100), false) {
if proc.cpu_usage() > 0.00001 {
println!(
"{} - {} - {} - {} - {:.2}% - {}M - {}M - {} procs",
run,
proc.pid(),
proc.name(),
proc.status(),
proc.cpu_usage() / cores as f64,
proc.mem_size() / (1024 * 1024),
proc.virtual_size() / (1024 * 1024),
cores,
)
}
}
std::thread::sleep(std::time::Duration::from_millis(1000));
}
}
}
sourcepub fn cpu_usage(&self) -> f64
pub fn cpu_usage(&self) -> f64
CPU usage as a percent of total
Examples found in repository?
examples/sys_demo.rs (line 15)
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
fn main() {
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "macos",
target_os = "windows"
))]
{
let cores = match std::thread::available_parallelism() {
Ok(p) => p.get(),
Err(_) => 1usize,
};
for run in 1..=10 {
for proc in nu_system::collect_proc(std::time::Duration::from_millis(100), false) {
if proc.cpu_usage() > 0.00001 {
println!(
"{} - {} - {} - {} - {:.2}% - {}M - {}M - {} procs",
run,
proc.pid(),
proc.name(),
proc.status(),
proc.cpu_usage() / cores as f64,
proc.mem_size() / (1024 * 1024),
proc.virtual_size() / (1024 * 1024),
cores,
)
}
}
std::thread::sleep(std::time::Duration::from_millis(1000));
}
}
}
sourcepub fn mem_size(&self) -> u64
pub fn mem_size(&self) -> u64
Memory size in number of bytes
Examples found in repository?
examples/sys_demo.rs (line 23)
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
fn main() {
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "macos",
target_os = "windows"
))]
{
let cores = match std::thread::available_parallelism() {
Ok(p) => p.get(),
Err(_) => 1usize,
};
for run in 1..=10 {
for proc in nu_system::collect_proc(std::time::Duration::from_millis(100), false) {
if proc.cpu_usage() > 0.00001 {
println!(
"{} - {} - {} - {} - {:.2}% - {}M - {}M - {} procs",
run,
proc.pid(),
proc.name(),
proc.status(),
proc.cpu_usage() / cores as f64,
proc.mem_size() / (1024 * 1024),
proc.virtual_size() / (1024 * 1024),
cores,
)
}
}
std::thread::sleep(std::time::Duration::from_millis(1000));
}
}
}
sourcepub fn virtual_size(&self) -> u64
pub fn virtual_size(&self) -> u64
Virtual memory size in bytes
Examples found in repository?
examples/sys_demo.rs (line 24)
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
fn main() {
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "macos",
target_os = "windows"
))]
{
let cores = match std::thread::available_parallelism() {
Ok(p) => p.get(),
Err(_) => 1usize,
};
for run in 1..=10 {
for proc in nu_system::collect_proc(std::time::Duration::from_millis(100), false) {
if proc.cpu_usage() > 0.00001 {
println!(
"{} - {} - {} - {} - {:.2}% - {}M - {}M - {} procs",
run,
proc.pid(),
proc.name(),
proc.status(),
proc.cpu_usage() / cores as f64,
proc.mem_size() / (1024 * 1024),
proc.virtual_size() / (1024 * 1024),
cores,
)
}
}
std::thread::sleep(std::time::Duration::from_millis(1000));
}
}
}