#!/bin/sh # Pre-t1 discharge on B9C (no VADC; VBAT read by the operator's DMM): N x `yes`, stop on /tmp/b9c-dis.stop, CPU > 80 C, or after MAX s. Writes /tmp only. N=${1:-4}; MAX=${2:-3600}; L=/tmp/b9c-dis.log trap '' HUP t0=$(cut -d. -f1 /proc/uptime); P="" for i in $(seq 1 $N); do yes > /dev/null & P="$P $!"; done echo "LOAD-START up=$t0 n=$N pids=$P" >> $L why=timeout while :; do t=$(cut -d. -f1 /proc/uptime); ct=$(cat /sys/class/thermal/thermal_zone*/temp | sort -n | tail -1) echo "L up=$t cpumax=$ct" >> $L [ -e /tmp/b9c-dis.stop ] && { why=operator; break; } [ "$ct" -gt 80000 ] && { why=cpu-80C; break; } [ $((t - t0)) -ge $MAX ] && break sleep 10 done kill $P; echo "LOAD-STOP up=$(cut -d' ' -f1 /proc/uptime) reason=$why" >> $L