#[cfg(unix)]
fn main() {
use winer::host::Scanner;
let mut scanner = Scanner::new();
let scan = scanner.scan();
for universe in scan.universes() {
if let Some(server) = universe.server() {
println!("Server ({}) @ {}", server.pid(), server.prefix().display());
} else {
println!("No Server")
}
println!("Processes:");
for process in universe.processes() {
let setup = process.setup();
println!(" {} ({})", process.image().display(), process.pid());
println!(
" Arch : {}",
setup.arch().map(|s| s.to_string()).unwrap_or("N/A".into())
);
println!(
" Preloader : {}",
process
.preloader()
.map(|s| s.display().to_string())
.unwrap_or("N/A".into())
);
println!(
" Loader : {}",
setup
.loader()
.map(|s| s.display().to_string())
.unwrap_or("N/A".into())
);
println!(
" Log Options : {}",
setup
.log_options()
.map(|s| s.to_string())
.unwrap_or("N/A".into())
);
}
if universe.processes().is_empty() {
println!("Not Found");
}
println!();
}
println!("Orphaned Processes:");
for process in scan.orphans() {
println!("{} ({})", process.image().display(), process.pid());
}
if scan.orphans().is_empty() {
println!("Not Found");
}
}
#[cfg(windows)]
fn main() {
eprintln!("This example only runs on Wine host.")
}