Merge
author |
Steve Losh <steve@stevelosh.com> |
date |
Mon, 09 May 2022 22:53:44 -0400 |
parents |
a8a82a63b876 |
children |
(none) |
#!/usr/bin/env bash
# Usage:
#
# sprint './some-command foo' pidfile
#
# Then another process can:
#
# kill `cat pidfile`
#
# to refresh the underlying process.
set -euo pipefail
set -m
PROGRAM="$1"
shift
PIDFILE="$1"
shift
echo "Starting ${PROGRAM}"
while true; do
${PROGRAM} &
echo $! > "${PIDFILE}"
fg >/dev/null || true
rm "${PIDFILE}"
echo "Restarting ${PROGRAM}"
sleep 1
done