Our #LabVIEWfriend Oleg Scherling recently shared a gem with us for dealing with headless real-time systems if and when they should become unresponsive: The LabVIEW Real-Time Watchdog Timer!
The watchdog timer is a hardware timer that interfaces with the embedded application that can detect and respond to software failures. Watchdog timers work by constantly resetting a hardware timer from your application. If the hardware timer ever expires, it will cause a set of predetermined actions to take place.
Potential causes for the watchdog timer to not be reset are a crash or hang in your program. If the loop that contains the watchdog is being starved for processor time by another process, it won’t be able to reset the hardware timer. This will cause the timer to expire and trigger the pre-determined fail-safe condition to occur.
So if you're deploying a system that is either headless, or hard to reach, or both: Do yourselves a favour and evaluate this simple little tool - it could save you lots of trouble.
NI has published an article about the LabVIEW Real-Time Watchdog Timer on its documentation website. Please go there for detailed information on how it works behind the scenes and where and when to use it.