@@ -98,12 +98,15 @@ while true; do
9898usage_percentage=$(df -P "$target_dir" | awk 'NR==2 {print $5}' | sed 's/%%//')
9999echo "[disk usage checker] Volume usage percentage: current = ${usage_percentage} ; allowed = ${usage_percentage_limit}"
100100if [ "$usage_percentage" -gt "$usage_percentage_limit" ]; then
101- echo "[disk usage checker] Disk usage exceeds the volume percentage of ${usage_percentage_limit} for mounted directory, terminating..."
102- ps -o sess --no-headers | sort -u | while read sid; do
103- [[ "$sid" -eq "${$}" ]] && continue
104- pkill --signal SIGKILL --session "$sid"
105- done
106- exit 1
101+ echo "[disk usage checker] Disk usage exceeds the volume percentage of ${usage_percentage_limit} for mounted directory, terminating..." >&2
102+ if command -v setsid >/dev/null 2>&1; then
103+ ps -o sess --no-headers | sort -u | while read sid; do
104+ [[ "$sid" -eq "${$}" ]] && continue
105+ pkill --signal SIGKILL --session "$sid"
106+ done
107+ else
108+ kill 0
109+ fi
107110fi
108111sleep 5
109112done`
@@ -1325,12 +1328,19 @@ func buildPodCommand(
13251328 cmd .WriteString (volumeCheckerScript )
13261329 cmd .WriteString (` & ` )
13271330
1328- // Start the gather command in a separate session.
1329- cmd .WriteString ("setsid -w bash <<-MUSTGATHER_EOF\n " )
1331+ // Start the gather command in a separate session if setsid is available.
1332+ // Fall back to simpler approach if setsid is not present (minimal images).
1333+ cmd .WriteString ("if command -v setsid >/dev/null 2>&1; then\n " )
1334+ cmd .WriteString (" setsid -w bash <<-MUSTGATHER_EOF\n " )
13301335 cmd .WriteString (gatherCommand )
13311336 cmd .WriteString ("\n MUSTGATHER_EOF\n " )
1337+ cmd .WriteString ("else\n " )
1338+ cmd .WriteString (" " )
1339+ cmd .WriteString (gatherCommand )
1340+ cmd .WriteString ("\n fi; " )
13321341
13331342 // Make sure all changes are written to disk.
13341343 cmd .WriteString (`sync && echo 'Caches written to disk'` )
1344+
13351345 return cmd .String ()
13361346}
0 commit comments