1use std::{error::Error, process::Command};
2
3pub fn get_status(host: &str) -> Result<reqwest::StatusCode, Box<dyn Error>> {
4 let response = reqwest::blocking::get(host)?;
5
6 Ok(response.status())
7}
8
9pub fn kill_port(port_num: u16) -> Result<(), Box<dyn Error>> {
11 let lsof_out = Command::new("lsof")
14 .arg("-t")
15 .arg(format!("-i:{}", port_num))
16 .output()?;
17
18 let procs_on_port = String::from_utf8(lsof_out.stdout)?;
19
20 for pid in procs_on_port.lines() {
21 Command::new("kill").arg(pid).output()?;
22 }
23
24 Ok(())
25}