use std::path::Path;
pub(super) fn tmux_session_alive(session: &str) -> bool {
std::process::Command::new("tmux")
.arg("has-session")
.arg("-t")
.arg(format!("={session}"))
.stdout(std::process::Stdio::null())
.stderr(std::process::Stdio::null())
.status()
.map(|status| status.success())
.unwrap_or(false)
}
pub(super) fn tmux_kill_session(session: &str) {
let _ = std::process::Command::new("tmux")
.arg("kill-session")
.arg("-t")
.arg(format!("={session}"))
.stdout(std::process::Stdio::null())
.stderr(std::process::Stdio::null())
.status();
}
pub(super) fn note_forced_kill(workbench: &Path) {
use std::io::Write;
let path = workbench.join("agent.log");
if let Ok(mut file) = std::fs::OpenOptions::new()
.append(true)
.create(true)
.open(path)
{
let _ = file.write_all(b"moadim: routine exceeded max runtime; killing session\n");
}
}