Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!samsung!sdd.hp.com!uakari.primate.wisc.edu!aplcen!haven!adm!news From: mdelany%hbapn1.prime.com@relay.cs.net ( Mark Delany) Newsgroups: comp.unix.wizards Subject: Checkpoint/Restart (was "no subject - file transmission") Message-ID: <24185@adm.BRL.MIL> Date: 16 Aug 90 05:43:02 GMT Sender: news@adm.BRL.MIL Lines: 38 Mark Holcomb writes: > I've felt the need for need for a new tool that Sun doesn't have. > Ever have a process that's been running for six weeks, and will > need another week to finish when you need to make level 0 backups > or would like to shut the computer down for a bad storm. > I need a tool that would stop a running process and let it be > restarted at a later date. > I've thought of a couple of ways it might be done: [A number of suggestions deleted] ... A general solution would have to re-establish and re-position all open files, sockets, message queues, pipes, semphores, shared-memory segments, environment variables, (add your favourite externally visible entity) to exactly the same state as they were previously. Once you've done this, it's a simple matter of re-constructing your memory image. Finally, you have to hope that none of the code in your program has stashed the PID or date away in memory somewhere as these may be different when you next restart the prog :-) Seriously, doing this in any substantive manner is difficult and I'm sure it would be virtually impossible to bullet-proof it on UNIX. When confronted with this array of problems, most people opt for individualized, per-program solutions for those progs that run for long periods. Mark D.