The most reliable way to do this is to write a small and very simple wrapper program to run your Perl script, and restart it if it fails. That handles nearly all of the failure modes, including Perl itself crashing. Of course, the wrapper program could itself die, so you might want to put it in /etc/inittab, so that init will automatically restart it if it dies. init could still crash, and then your OS will shut down; you should be able to set up your kernel and/or BIOS and/or watchdog timers to automatically reboot in this event. Of course, a meteor could crash into the building where your server is located, but then your Perl script is probably the least of your concerns. :-)
daemontools is a very convenient and reliable wrapper program to use for automatically restarting your script; it automatically installs itself into /etc/inittab, and so solves a great deal of the problem on its own.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|