http://qs1969.pair.com?node_id=485331

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

i'm curious as to how one would make a perl script run as a TSR (terminate and stay resident) program?

more specifically, i'm writing a script that listens on a particular port, and I'd like to be able to start it initially (ie: "perl jdataserver.pl"), and have it print out some diagnostic info, then return user control to the command prompt, but continue running in the background.

should i need to check on it afterward, I'd call it again with a flag ("perl jdataserver.pl -i") and it would print out some status information, then return to the background.

and, should i need to stop it later, i could call it again with a *different* flag ("perl jdataserver.pl -k") to essentially do a clean kill of the process.

i was thinking i could accomplish this sort of effect with two scripts...the server script would periodically lock a file, write status information to it, then unlock it. then the script I call would check for this file, read the status info from it, and display the info...

however, i figure there *has* to be a better way to do this. any ideas?