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. Jānis Elsts says:

    RoC is just a normal application, not a service or anything like that. I believe it would be automatically closed when the user that started it logs out.

  2. Geoff says:

    this is a decent app, I like it, my application is slow and it looks like it has crashed, but it comes back a few seconds later, it’s leading to a ton of entrys into the log, it ends up using a lot of memory after being left on a while, can you add a limit or something to the log so it doesn’t end up using gigabytes of memory ?

    thanks

  3. Clinckart says:

    Hello,

    When I add paramaters to the command line, the target application is not started and the RoC says it is crashed. Could you check that please ?

    Thanks

  4. Jānis Elsts says:

    I can’t check that without having access to the specific application and the command, but I would recommend making sure that the command is formatted correctly. In particular, if there are any spaces in the application path, it usually has to be in "quotes". Example: "c:\path\with some spaces\app.exe".

    Also, if you haven’t tried it already, please try running the command manually (e.g. in Powershell) and see if any errors show up.

  5. […] stáhnout Restart On Crash do počítače, přihlaste se do něj oficiální webové stránky a klikněte na odkaz Stáhněte si Reboot on Fail. Po dokončení stahování extrahujte obsah do […]

  6. […] biste preuzeli Restart On Crash na svoje računalo, prijavite se službena stranica i kliknite na vezu Preuzmite Restart on Fail. Kada preuzimanje završi, izdvojite sadržaj u bilo […]

  7. […] at downloade Restart On Crash til din computer skal du logge ind på den officiel hjemmeside og klik på linket Download Genstart ved fejl. Når overførslen er færdig, skal du udpakke […]

  8. […] želite v računalnik prenesti Restart On Crash, se vanj prijavite uradna spletna stran in kliknite povezavo Prenesite Reboot on Fail. Ko je prenos končan, ekstrahirajte vsebino v katero […]

  9. […] Restart On Crash allalaadimiseks arvutisse logige sisse ametlik koduleht ja klõpsake linki Laadige alla Taaskäivitamine ebaõnnestumise korral. Kui allalaadimine on […]

  10. […] datorā lejupielādētu programmu Restart On Crash, piesakieties tajā oficiālā mājas lapa un noklikšķiniet uz saites Lejupielādējiet Reboot, ja neizdodas. Kad lejupielāde ir pabeigta, […]

  11. […] Restart On Crash 下载到您的计算机,请登录 官方网站 然后点击链接 下载失败重启. 下载完成后,将内容解压到任意文件夹 在 zip […]

  12. […] Sie sich an, um Restart On Crash auf Ihren Computer herunterzuladen offizielle Website und klicken Sie auf den Link Laden Sie Reboot on Fail herunter. Wenn der Download abgeschlossen […]

  13. Philippe Mignard says:

    Very good soft. I use it on my little personal server. But it lacks one feature: be a service or survey himself to restart. Sometimes, RoC is closed. I temporarily solved this by having 2 RoC running which survey each other. But it should be a integrated feature.
    Anyway, thanks very much for this help software.

  14. Adrian says:

    This is a fantastic software, and it can even be used as a WDT for software. I’m very grateful to the programmer who wrote it, thank you very much.

  15. Kirill says:

    Thanks a lot for a great tool! Hope you will continue developing it. I’m find it useful to keep my zoo of legacy services up and running. It will be nice if it will be possible to add alias for each app added for monitoring (just to replace long path to executable in the list).

  16. Electron Junkie says:

    How would one go about monitoring a Command Line program that has spaces in the header? C:\Windows\System32\cmd.exe – broker.py, Restart on Crash thinks it is always crashed. Fantastic program other than this one little bug I can’t figure out!

  17. Jānis Elsts says:

    RoC currently uses just the .exe file path to identify a program, not the window title or the full command line. This means that if you want to monitor a command line program, you would have to enter “C:\Windows\System32\cmd.exe” or “C:\Windows\SysWOW64\cmd.exe” (probably without quotes).

    Unfortunately, RoC doesn’t distinguish between different running instances of the same .exe file, so what you’re describing will only work if you have only one instance of cmd.exe running at any time. Otherwise RoC will mark the program as “running” even if what’s actually running is some unrelated cmd.exe window.

  18. Michael says:

    Would it be possible to ignore suspended tasks when checking if the application is actually running?
    I have a phaenomena here, where at windows boot sometimes applications hang in suspended-state instead of running. These tasks are not killable, and RoC sees the application as running because the task is technically there. The only option to ensure RoC can monitor these tasks again is rebooting the machine to get rid of the suspended-tasks.
    If RoC could ignore tasks in this state it would be a huge help 🙂

  19. Jānis Elsts says:

    I haven’t personally run into this specific problem, so I’m going to speculate a bit here. If the applications are not killable, RoC probably wouldn’t be able to restart them even if it could detect them.

    Some quick googling suggests that it’s not normal for applications to end up in that state, and fixing that might require more than the kill-and-restart solution that RoC provides. These threads include some suggestions, though nobody seems to have a a reliable fix:

    https://learn.microsoft.com/en-us/answers/questions/1253162/windows-suspending-active-foreground-uwp-processes

    https://learn.microsoft.com/en-us/answers/questions/625207/software-is-suspended-in-task-manager

  20. Michael says:

    Hello Jānis, first of all thanks for your quick response.
    I know thats no normal state, and I also allready found the links you provided, but as you allready mentioned, there is no fix for the behaviour.
    The behaviour with the suspended tasks happens only when the applications are started at boot time (maybe the Avast AntiVirus is intercepting here – I don’t know).
    The tasks in suspended state are not even listed in the task-manager (but in process-explorer oder tasklist) and consume only 32K of memory. I have read somewhere that this is only the task-stub with application-information from the kernel. But again, no one has a fix besides rebooting…
    We normaly monitor the tasks with RoC, but it thinks the tasks are running because technically the task is present.
    Therefore I thought I give it a try to ask here.

    Kind Regards
    Michael

Leave a Reply