Обычное решение этой проблемы - использование какого-либо программного обеспечения для мониторинга серверов / сетей.
Это в основном выделенная служба, работающая на сервере, которая будет контролировать несколько компьютеров (и ПО на них) через сеть. Они также могут определить, работают ли отдельные службы.
См. Например
https://serverfault.com/questions/44/what-tool-do-you-use-to-monitor-your-servers
https://serverfault.com/questions/1596/application-monitoring-tools
https://serverfault.com/questions/26685/server-monitoring
Я лично использовал ZenOSS, который может мониторить приложения и отправлять оповещения, создавать графики и т.д.
Использование программного обеспечения для мониторинга для одного приложения может оказаться излишним, но OTOH - это стандартное решение, и большинство программ для мониторинга достаточно просты в настройке для простых случаев и могут работать на контролируемой машине, поэтому это может быть лучшим решением.
Я не знаю ни одного приложения только для проверки состояния одного локального приложения.