dotfiles/dotlib/cattle.sh

30 lines
414 B
Bash
Raw Normal View History

reset-elapsed() {
(( last_cmd_at = SECONDS ))
}
ping-timer() {
2022-10-21 21:33:20 +00:00
kill -USR1 "$reaper_pid"
}
2022-10-21 21:33:20 +00:00
slay-reaper() {
kill -KILL "$reaper_pid"
}
{
2022-10-24 08:50:38 +00:00
trap "" INT
trap reset-elapsed USR1
last_cmd_at=0
while sleep 1; do
(( elapsed = SECONDS - last_cmd_at ))
if (( elapsed > 600 )); then
kill -KILL "$$"
exit
fi
done
} &
2022-10-20 20:51:26 +00:00
reaper_pid=$! PROMPT_COMMAND+=(ping-timer)
2022-10-21 21:33:20 +00:00
trap slay-reaper EXIT