On Sun, Apr 27, 2008 at 2:49 AM, Michael Barnes <[EMAIL PROTECTED]> wrote: > My apologies. I know this is a cross-platform group, and that is fine. > However, if you are unable to understand simple Linux terminology, then it is > doubtful that you can help answer my question. If the description is > nonsense to you, then please don't waste your or my time in an apparent slam > on my choice of operating systems. If your reply represents the general > attitude of this list, then it looks like I've come to the wrong place for > assistance. > > But, to simplify my request, a pid is a process id. In Linux, the command > 'ps' will give a listing of process IDs. > I need the script to determine its own pid, then write that to a file. snip
The variable $$ holds the PID for the current program*. Typically a pidfile is created in /var/run by saying something like use strict; use warnings; use File::Basename; BEGIN { our $program = basename $0; die "$program already running\n" if -f "/var/run/$program"; open my $pidfile, ">", "/var/run/$program" or die "could not open /var/run$program: $!"; print $pidfile "$$\n"; close $pidfile; } #make sure the last thing done is the removal of the pidfile #note: this happens even if we die END { our $program; unlink("/var/run/$program") or die "could not delete /var/run/$program"; } #the rest of your code There are also a few modules on CPAN that automate this to a certain extent for you: Proc::Pidfile**, File::Pid***, and File::Pid::Quick****. * see perldoc perlvar or http://perldoc.perl.org/perlvar.html#$PROCESS_ID for more information ** http://search.cpan.org/dist/Proc-Pidfile/Pidfile.pm *** http://search.cpan.org/dist/File-Pid/lib/File/Pid.pm **** http://search.cpan.org/dist/File-Pid-Quick/Quick.pm -- Chas. Owens wonkden.net The most important skill a programmer can have is the ability to read. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/