Automatically Restart Crashed Or Hanged Applications
Don’t you hate it when programs hang or crash? I find it especially annoying when a background application like an IM client or a bandwidth monitor silently crashes – sometimes I only notice the problem hours later when I’ve already missed a bunch of messages. I’m sure you’ve encountered a few “Not responding” errors and some irritatingly crash-prone applications yourself.
If you have an unstable program that you absolutely need to run at all times, but don’t want to waste your time monitoring and manually restarting it every time it croaks, I might have something interesting for you.
Restart on Crash is an monitoring tool that will watch the applications that you specify and automatically relaunch any program that hangs or crashes. You can add any number of applications to monitor, enable/disable them individually and edit the command line that will be used to restart an application.
Restart on Crash doesn’t require installation and stores all it’s configuration data in a “settings.ini” file in the program’s folder, so it’s portable. It should be compatible with most NT-based Windows versions.
Download Restart on Crash (1.4 MB)
Screenshots & Documentation
- To add a new application to monitor, click the “Add” button or press the Ins key.
- To delete on or more applications from the list, select them and click “Delete” or press Del.
- To edit the per-application configuration, double-click the corresponding row. This will open the editing dialog (see below).
- You can also access the RoC configuration by clicking “Settings” and view the activity log by clicking “Show Log”. The log contains information about crashed/hanged applications, executed commands, and so on.
Well, this one should be pretty self-explanatory 🙂 One detail to keep in mind is that enabling the “It isn’t running” option will make Restart On Crash treat the application as if it has crashed even if you have purposefully it closed it. You can get around this by disabling the monitoring of the application before you close it.
“Grace period” is how long Restart on Crash will wait before trying to terminate/restart an application that it has just terminated/restarted. This is intended to prevent a scenario where RoC kills a hanged program, restarts it, decides it has hanged again (e.g. if the program is non-responsive while starting up) and wrongfully terminates it again.
Known Issues
- If you configure RoC to automatically kill a hanged application, it will terminate all instances of that application when doing so. This may be fixed eventually.
Release Notes
2022-11-02
- The “execute a command” feature can now launch shortcuts (.lnk files). Potentially, it can now run almost any type of file as long as file associations are set up correctly.
2019-12-17
- Improved “application is not responding” detection.
- Added a “Clear Log” button to the Log window.
2019-08-24
- Added a “Restart Now” option to the application pop-up menu. It restarts the selected application immediately without waiting for the grace period to expire.
Understood. If it makes it easier for you to implement, I would suggest not delaying the actual start of RoC but rather a delay for when to start monitoring the program(s) in its list.
Hi!
My application runs in an cmd “C:\Windows\System32\cmd.exe” with a special Window Title.
If this console app is closed/crashed and an other cmd is also open or started it will be not recognized as crashed.
Can your also check the Window Title to recognize the correct cmd window has crashed?
Greetings from Vienna
Martin
Unfortunately, that’s not supported – RoC doesn’t look at window titles at all.