Advertisement
Guest User

Untitled

a guest
Jul 20th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. #![allow(unused)]
  2.  
  3. use std::process::Command;
  4.  
  5. fn main() {
  6. let sserver = match Command::new("hostname").output() {
  7. Ok(rs) => rs.stdout,
  8. Err(_) => Vec::from("default"),
  9. };
  10.  
  11. let mut sttcmd = Command::new("systemctl");
  12. let mut sttrpt = Vec::new();
  13. let mut stterr = Vec::new();
  14. let mut sttstt: Option<i32> = Some(0);
  15.  
  16. sttcmd.args(&["status", "some_service", "-l"]);
  17.  
  18. let mut osttrs = match sttcmd.output() {
  19. Ok(rs) => Some(rs),
  20. Err(e) => {
  21. stterr.push(Vec::from(
  22. "cmd 'systemctl status some_service -l': execution failed!",
  23. ));
  24. stterr.push(Vec::from(format!("msg: '{:?}'", e)));
  25.  
  26. sttstt = Some(1);
  27.  
  28. None
  29. }
  30. };
  31.  
  32. if osttrs.is_some() {
  33. sttrpt.push(osttrs.as_ref().unwrap().stdout);
  34. stterr.push(osttrs.as_ref().unwrap().stderr);
  35. sttstt = osttrs.as_ref().unwrap().status.code();
  36. }
  37.  
  38. println!("server name: '{:?}'", sserver);
  39. println!("stt stt (code: '{}'):\n", sttstt.unwrap());
  40. println!("stt rpt vec u8 (count: '{}'):\n{:?}", sttrpt.len(), sttrpt);
  41. println!("stt err vec u8 (count: '{}'):\n{:?}", stterr.len(), stterr);
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement