Free Software by Sam Clippinger -- LAFitup

Author: Sam Clippinger <samc (at) lookandfeel (dot) com>
Copyright: ©2001 lookandfeel new media
License: GNU GPL
Current version: source binaries
Archived versions: Source packages
Binary packages
Documentation: Change Log
Usage instructions
Microsoft Visual Studio 6.0 Runtime
Download from this site
MSDN article
Build target: Out-of-process Win32 ATL COM Server and Win32 NT service (EXE)

Source language: Microsoft Visual C++ (ATL COM)
Build environment: Microsoft Visual Studio 6.0 SP3 on Microsoft NT Server 4.0 SP6a
Target platform: Microsoft NT Server 4.0 SP6a

LAFitup is an NT service that will run a set of arbitrary commands in the background and monitor them. If any of them exit, LAFitup will restart them. LAFitup will run different commands when told to Pause, Continue or Stop. This is extremely useful for continually running programs that were not intended to be used as services or are not capable of hooking into NT's Service Control Manager on their own. By running other commands when told to Pause, Continue or Stop, the programs can have an opportunity to be notified when the system is changing state rather than just being killed with no chance to clean up their resources.

The specific need LAFitup was designed to meet was the running of Java applications that function as services on an NT platform. Because Java is platform-neutral, it provides no functionality for hooking into NT's Service Control Manager to be automatically started when the system boots. Java applications can be run from a batch file in the Startup group, but that only works if someone logs into the console. If the machine is shut down, the Java applications are terminated with no warning. If the machine reboots unattended, the Java applications will not restart until someone logs in.

Though LAFitup was designed with Java in mind, there is nothing Java-specific about it. It will work for any (set of) program(s).

LAFitup also provides a COM interface to allow external callers to query its status, change its configuration, start and stop individual processes, etc. without requiring console access or forcing the administrator to stop LAFitup completely.

This project is mirrored from