in reply to Process autorestart after 10seconds!

The following sleeps 10 seconds and starts a new process, continuing from that point in the child process.

{ sleep 10; my $cpid = fork; exit 1 if not defined $cpid; exit 0 if $cpid; }
The child inherits the environment of the parent process, so you still have the original process's variables and their values.

After Compline,
Zaxo

Replies are listed 'Best First'.
Re^2: Process autorestart after 10seconds!
by tachyon (Chancellor) on Aug 29, 2004 at 14:20 UTC

    Does anyone wonder why you would want to do this? It sounds like a commedian I once watched.

    "I got home tonight and discovered I had been robbed.....
    Cleaned out.....
    It was really spooky.....
    Everything in my house had been taken and replaced with an exact replica"

    Is this really the question? Or is the question how do I terminate contact with a browser, or my script leaks like a seive but I think I can fix it is I keep restarting it?

    cheers

    tachyon

      I remember it well :-))

      Here, the furniture's been replicated, but the house has been moved to a new address. The process ID has been changed (making a browser connection think we're done) and all the kids are sent SIGHUP, which says "We've moved on, and we're not saying where!"

      If we have some reinitialization to do, we can do it in an _init() function and set the HUP handler to call it, or else just call it directly,

      { my $cpid = fork; exit 1 if not defined $cpid; exit 0 if $cpid; _init(); }
      I would also like to know what OP needs to do.

      After Compline,
      Zaxo