Starting a process from within the Web server environment should probably be done with
system and not
fork or
exec. It's true that in many cases, calling
system results in a fork, but it is likely to work in cases where the others do not.
If your "daemon" script is properly behaved, and returns usable exit codes, you can do something like this:
my $error = system("/usr/local/bin/my.daemon");
if ($error)
{
print "<I>Problem launching server. (Error code $error)</I>\n";
}
else
{
print "<I>Server started.</I>\n";
}
Forking off a copy of the Web server run-time environment and all of its associated baggage is rather inefficient, since you'd likely use very little of this. Starting a new process means that your "daemon" script can begin with a clean slate, no open file handles, allocated memory, and such.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.