The readme mentions:
--max-idle=n - exit afer n seconds of inactivity. Supports iso 8601 and sleep syntaxes. Uses passenger for now, awaiting https://github.com/puma/puma/issues/2580 support.
Puma has just added Shutdown on Idle on https://github.com/puma/puma/pull/3209 🎉