From e4b78b705a3df700aea68ed44d08beb726ba5047 Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Fri, 24 Apr 2026 09:18:31 +0200 Subject: [PATCH] s/cleanup: kill idle sessions instead of removing done batch jobs Co-Authored-By: Claude Sonnet 4.6 --- scripts/s/cleanup | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/scripts/s/cleanup b/scripts/s/cleanup index 516fae1..c3028aa 100755 --- a/scripts/s/cleanup +++ b/scripts/s/cleanup @@ -1,13 +1,11 @@ #!/usr/bin/env bash -# s/cleanup: remove all batch jobs with state "done". +# s/cleanup: kill all idle sessions. set -euo pipefail OLLIE=${OLLIE:-$HOME/mnt/ollie} -for job in "$OLLIE"/s/*/; do - [ -d "$job" ] || continue - state=$(cat "$job/state" 2>/dev/null | tr -d '[:space:]') || continue - case "$state" in - done*) rm -r "$job" ;; - esac +for sess in "$OLLIE"/s/*/; do + [ -d "$sess" ] || continue + state=$(awk -F= '$1=="state"{print $2; exit}' "$sess/cfg" 2>/dev/null | tr -d '[:space:]') || continue + [ "$state" = "idle" ] && rm -r "$sess" done