in reply to Alerting On Critical State Changes

Maybe … use Proc::Daemon + maybe Proc::ProcessTable … start: check … act … sleep … repeat.

No wrong® way to do this. Tons of tools. Whatever seems sensible, robust, easy for you.