There are some important programs such as a gaming servers, webservers, databases or mail servers that we’d need to keep running at all times but not every piece of software will have a feature of monitoring itself and re-starting whenever it is closed. It’s a similar situation if you constantly download via P2P software or download managers because you might want to keep downloading or seeding even while you’re not at the computer.
It can be a source of frustration if the software crashes or hangs just after you leave it unattended because it will then have to stay that way until you come back to rectify the problem. What could be even more annoying is having other users or children closing the program down not knowing or caring that it’s supposed to stay running. This is where a third part tool comes in to help because you can setup your programs that are required to stay running to relaunch automatically if they are closed or crash. That way they will keep restarting to continue their tasks or until you stop them manually.
1. Control Running Programs (CRP)
Control Running Programs is a multi functional tool to perform a number of functions on running applications. In addition to being able to monitor and relaunch closed processes, CRP can control how many instances of a program can be opened at once and also monitor the memory usage of a program, closing it down if a certain threshold is reached. An additional option can password protect the main window once it’s been minimized to the tray.
After installation, click on Instance Launching in the window and click on Add (or File menu -> Add), or alternatively drop an executable onto the window (not a shortcut). Then click the button to browse for an executable or use the arrow button to select a currently running process, and supply optional command line arguments. Once you have configured the program(s) required press the button to start the monitoring engine. You can’t launch different programs or set a monitoring interval etc, but simply dropping a file onto the window makes CRP very easy to get working quickly.
2. Application Monitor
Application monitor is quite an old utility dating back to 2005, but seems to work perfectly fine on newer operating systems. It has a couple of useful options built in you don’t find in many other tools of this type, including an option to send an email when errors occur and the ability to use different checking intervals for each application you want the program to monitor.
Adding a process to monitor is easy, click the Add button, give it a name and then browse to the executable file. Then add optional arguments and set the checking interval, the default is 2 minutes but it can be any where between 30 seconds and 3 hours in 30 second increments. As soon as you tick the box to activate the application profile, it will launch the process and begin monitoring. Application monitor is portable and requires .NET Framework 1.1 or higher.
3. Restart On Crash
Restart On Crash is slightly different because it was designed primarily as a tool to restart a program after it’s crashed or hung, but is equally at home in restarting an application that has been closed accidentally or by someone else. It’s an easy program to use and configure while being portable and quite light on memory, only using around 2.5MB of system RAM during monitoring.
When configuring Restart On Crash you can assume a program has crashed and needs restarting when it has actually crashed and not responding, and also simply if it isn’t running which covers when the the application was closed manually. Click the Add button to enter a new monitored application and either locate the executable or select a running process, this will enter the same executable in the command to execute. You can of course run scripts or other programs if you want. By default closed/crashed programs are checked every 60 seconds, this can be changed and the log file can be setup from the Settings window.
According to its developer, Restarter was originally intended for monitoring and restarting Counter-Strike game servers, but can be used on other applications with no problem. The main interface is a bit more complicated looking than some of the other tools here, but still isn’t really that difficult to configure. Restarter has portable and setup installer versions available and requires .NET Framework v2 to function.
To monitor a program it first needs to be running as Restarter selects the executable from a list of opened processes, then you can choose the monitor interval (default is 60 seconds), whether to restart the process, kill an unresponsive process, play a warning sound and run an external script (reboot and send email VBS scripts are included). Supplying a working directory and startup arguments are optional extras. Restarter has a Create shortcut button which will add a desktop shortcut to allow launching the selected application and then monitor it automatically.