You don't of course need to restart all processes, just the ones which
are "important". Irix 6.4 (and possibly other versions) has
checkpoint code which allows you to dump one or more running processes
to disk. These can then be re-started on either the same machine or a
different one. Of course some things don't survive being re-started
(like network connections), so a pair of extra signals are provided to
allow processes to take spacial action before and after the checkpoint
to re-establish such links if they are important.
According to the man page mose other stuff (including state of pipes)
is maintained over checkpoints... I've no idea how much kernel
hackery would be needed to do something similar for Linux though..
-- Jon Peatfield, DAMTP, Computer Officer, University of Cambridge Telephone: +44 1223 3 37852 Mail: J.S.Peatfield@damtp.cam.ac.uk