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

Main application window

The main window

  • 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.
Editing the monitor settings for an application

Editing the monitor settings for an application

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.

The configuration dialog. Yes, that's it.

The configuration dialog. Yes, that’s 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.
Related posts :

605 Responses to “Automatically Restart Crashed Or Hanged Applications”

  1. Magnus says:

    Thanks, that worked.

  2. Dex says:

    Hope you can add /silent function. To prevent user notified it.

    Since /hide or Start minimized still having a splash imaging when it auto start minimized. Each time the program crash detected and auto reboot program.

  3. RoyalHunter says:

    I Will give it a try.

  4. […] “Restart On Crash” とかのプロセスを監視して発生したプロセスに対する動作を指定できるソフトを導入 – ダウンロードはここからできる […]

  5. D.T. says:

    Nice Application, if it’s possible be open source on github?

  6. Peesjee says:

    Hi Janis,

    i see you made a new version (1.4.1). Is there any change/releasenote?

    Perhaps you could include a simple txt file in de zip with the changes, so we don’t have to bother you with this info 😉

    Greetz
    Pieter

  7. h.toratani says:

    Hi Janis,

    This application is very nice!
    Thank you very much!

    And I’d like to make sure that I use it in work too?( not in private).
    I cannot find the information of the limitation of liscense .

    h.toratani

  8. Jānis Elsts says:

    @ Peesjee:
    That update just reduced the settings autosave interval from 30 seconds to 10 seconds.

    @ h.toratani:
    Sure, you can use it for work.

  9. mike webb says:

    program works great but i’m wondering if you could add something new. here’s my problem, i have a msaccess program that i made called server1, i need it running all the time. but sometimes i have other msaccess programs running. restart on crash can’t tell the difference between msaccess & server1 program is running and msaccess & someother program is running. process explorer can tell what files a process has open, maybe you can do something like that. msaccess is running and the file server1.mdb is open. ether way, thanks for the great program

  10. Jānis Elsts says:

    Sorry, that’s probably not going to happen :/

  11. seco says:

    Very good program,thanks.
    It can check the app’s dataflower?

  12. Jānis Elsts says:

    Err, probably not. What’s a dataflower?

  13. Dylan says:

    Lookup RestartOnCrash – launch with /hide param. Works GREAT with nexus.

  14. […] Process Alive but it doesn’t remember the settings after I restart the computer. I also tried Restart on Crash however this would open the app multiple times even when the app was already […]

  15. Greg says:

    I downloaded and stuck a copy on the desktop to try it out. By selecting the “Run ROC when Windows Starts”, it would start automatically. Is this inherent to being located on the desktop? I moved to another location and it no longer starts automatically. I would love to be able to run this from another location without the need for a shortcut in the startup folder.

  16. Jānis Elsts says:

    It doesn’t have to be on the desktop, but it does have to stay in the same location for that option to work. If you move it, it won’t start because the startup command will still point to the old location.

    Try turning the option off and then on again.

  17. Alessio says:

    Need much system resources?

  18. Jānis Elsts says:

    Not really. In my experience, the resource usage is fairly low.

  19. Auwell says:

    Here is something strange.

    1/ Grace period is at 60 sec
    2/ ROC is enabled, start monitoring my program
    3/ My program is dying
    4/ ROC start counting et 60, 59, 58…30 sec…
    5/ My program came back, he’s finally alive ! ROC do nothing and Status is “Running”
    6/ My program is dying again and ROC start counting at 30 sec and not 60.

    Why doesn’t he start counting from 60 ?

Leave a Reply