Since LifeKeeper protects applications, which may themselves have a presence in the init system, we must be able to manipulate other applications' init parameters at a basic level. We find there are four functions we need to abstract:
For shell scripts, we make the distribution specific component provide the implementation (as separately callable commands). For example initstop apache is implemented as /etc/rc.d/init.d/httpd stop on RedHat, but as /etc/init.d/apache stop on SuSE. Note that even the service name has to be translated. As another example, initdisable apache becomes /sbin/chkconfig httpd off on RedHat but /sbin/insserv -r apache on SuSE.