in reply to Re^2: Interpreter eval counter out of bounds
in thread Interpreter eval counter out of bounds

I have a perl daemon that in principle (unless stopped or restarted) will run forever. . .

All of our production scripts restart themselves after some time is passed, ( i.e. 4-hours, 24-hours, etc. ).

If you have 'cron' you might want to restart the process periodically. If you can't use 'cron' then the script can test on how much time has passed and use 'system' to restart itself and then exit.

Your script will be happy with a fresh start.

"Well done is better than well said." - Benjamin Franklin

  • Comment on Re^3: Interpreter eval counter out of bounds

Replies are listed 'Best First'.
Re^4: Interpreter eval counter out of bounds
by JavaFan (Canon) on Jan 28, 2011 at 14:48 UTC
    use 'system' to restart itself and then exit.

    Your script will be happy with a fresh start.

    Except that when using system, the old process doesn't go away; it'll wait for the new one to finish.

    Daemons restarting itself is a classical trick. But you got to use exec, not system. You want to replace yourself with the new instance, not create an additional one.

      JavaFan,

      You are correct, but we do use 'system', however, the command that we issue has a " \&" at the end, so in our Unix environment, we're okay.

      I just checked the code on one of the scripts, and realized that I forgot how it was implemented. 'exec' would have been better.

      Thank you

      "Well done is better than well said." - Benjamin Franklin