//https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=1532a4ff9c699e1ed33cda47e81593b7
use std::error::Error;
use tokio::runtime::Runtime;
use tokio::process::{Command, Child};
use std::process::Output;
pub fn main() -> Result<(), Box<dyn Error>> {
let mut rt = Runtime::new().unwrap();
let answer = rt.block_on(is_mount_point_mounted("/mnt/lustre1"))?;
println!("answer = {:?}", answer);
Ok(())
}
pub async fn is_mount_point_mounted(mount_point: &str) -> std::io::Result<bool> {
let process: Child = Command::new("mountpoint")
.arg("-q")
.arg(mount_point)
.spawn()?;
let output: Output = process.wait_with_output().await?;
Ok(output.status.success())
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎