Application monitor

Mike Meyer mwm at mired.org
Tue Nov 8 19:52:26 EST 2005


"dcrespo" <dcrespo at gmail.com> writes:
>> Personally, I use init as an app monitor. It doesn't need monitoring
> What's "init"? Sorry about my ignorance.

init is the first Unix process, and all other processes are descended
from it. It is the alpha and the omega of Unix processes. Uh, wait a
second - I'm having biblical flashes here. Let's try again:

init is the first process started when a Unix system boots, and is
hand crafted by the boot process. Every other process on the system is
started by a fork (or a variant) system call, and are descendants of
init. Part of it's job is starting the various server processes on the
system that are appropriate for the system state. It notices when they
exit, and restarts them. On timesharing systems, it will start a login
process on every terminal, which would then exec it's way into a user
shell, which would exit - which init would notice, and launch another
login on that terminal. If init is dead, your Unix system is in a bad
way.

You can use this on modern Unix systems. You add an entry to init's
config file (/etc/inittab on SysV-like systems, and /etc/ttys on
BSD-derived systems), and init will launch a process for that
entry. If the process ever exits, init will launch it again.

For instance, I launch an ssh client to keep a couple of TCP tunnels
open to my ISPs server so I can access services that aren't available
from my current location. I run that via init. No need to worry about
hardening the ssh client, or writing a wrapper around it, or anny such
thing. init deals with all of that for me.

       <mike
-- 
Mike Meyer <mwm at mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.



More information about the Python-list mailing list