CRP: automatically re-launch apps and control a program’s allowed number of running instances


CRP (Control Running Programs) is a small free program that runs in the background and performs two functions: it re-launches a program automatically once it detects that it is no longer running, and it limits the instances that a program can be running simultaneously according to a user defined number of instances (including preventing a program from running at all).

Have you ever, say, somehow shut down your instant messaging client without really meaning to only to become aware of this hours later when friends or colleagues call or email you to ask why you’re offline? Or say you have a notes managing app that you like to be always running but shuts down when you only mean to minimize it.

Another, different kind of example is a program that when you try to access it using a launcher or shortcut when in fact it is already running, will mistakenly create another instance of that program running in memory when what you had intended was to simply maximize it or bring it into focus.

CRP program brings together two extremely useful functions that help you manage your system in the above mentioned scenarios. Please note, however that CRP does not automatically limit the instances of running programs on your machine across the board; rather, all operations will apply to programs of your choosing that you have to tell CRP to monitor. Here are more notes on this one:

  • What it does: (a) it re-launches programs that you specify whenever it finds that they have been closed or have shut down, and (b) limits the running instances of programs that you specify to a user-specified number.
  • CRP in the system trayHow it works: CRP consists of two lists, one for “Instance Controlling” and another for “Instance Launching”. Once you add the appropriate programs to either list you can activate each one of these lists separately (i.e. you can have both lists activated or one list activated and not the other). The program will then run in the background and monitor for the system for instances of the programs on your list.
  • Re-launching programs: once it detects a program on the “instance launching” list is no longer running it will simply re-launch it.
  • Shutting down program instances: CRP will not apply globall to limit program instances; the user has to specify the program(s) and the number of allowed instances first. Once this happens, and when attempting to launch a program in excess of your allowed number of instances, you will see that program flash on screen for a split second before being shut down. Note: you can specify an allowed instances of zero if you want, which will prevent any instances from running.
  • Performance: performs extremely well, and manages to monitor your system without running up your CPU cycles or straining your system.
  • Memory consumption: 11 megs, which is not that much but seems like it could have been less. My guess is that if you find that this program is useful to you you will not care about its memory use.

Wish list:

  • In the case of an allowed number of instances of one, it would be nice if the program provided the option in the settings of maximizing/re-focusing on the already running instance after shutting down any additional instance.
  • Deactivating a specific list from the system tray. Currently, you are able to stop the engine from the system tray for whatever list was last accessed, but you cannot specify a particular list.

The verdict: a nice and useful program that is very well put together. I have seen earlier versions of this and must say that this current version performs beautifully. I also like that it brings these two related functions together in one place rather than having to run a separate program for each. Recommended.

Version Tested: 1.0 – RC1, build 422

Compatibility: Windows XP, Vista. Requires .NET 2.0 Framework

The program page no longer exists, but you can download ver. 1.0 – RC1, build 422xx of the program here.