in reply to Detect options of script runnning in a demon mode

I'd log it to a file and be sure to include pid. Then a simple file tail or grep on the pid would reveal the arguments:
use strict; use warnings; use Getopt::Long; use Log::Dispatch::FileRotate; use Log::Log4perl; my $conf = q( log4perl.category.foo = DEBUG, FileRotateAppender log4perl.appender.FileRotateAppender = Log::Dispatch::File +Rotate log4perl.appender.FileRotateAppender.filename = 667540.log log4perl.appender.FileRotateAppender.mode = append log4perl.appender.FileRotateAppender.size = 10000 log4perl.appender.FileRotateAppender.max = 5 log4perl.appender.FileRotateAppender.layout = PatternLayout log4perl.appender.FileRotateAppender.layout.ConversionPattern=[%P] % +d %M %F:%L: %m%n ); Log::Log4perl::init( \$conf ); my $log = Log::Log4perl::get_logger("foo"); my $man = undef; my $woman = undef; GetOptions( 'man' => \$man, 'woman' => \$woman, ) or die(qq{Usage: $0 [--man] [--woman]}); # Set explicit to 0 or 1 $man = ($man) ? 1 : 0; $woman = ($woman) ? 1 : 0; $log->info(qq{man=$man}) if $log->is_info(); $log->info(qq{woman=$woman}) if $log->is_info(); # ------ main ------ # then do deamon stuff __END__ $ perl 667540.pl $ cat 667540.log [3561] 2008/02/12 12:29:51 main:: 667540.pl:35: man=0 [3561] 2008/02/12 12:29:51 main:: 667540.pl:36: woman=0 $ perl 667540.pl --man $ cat 667540.log [3561] 2008/02/12 12:29:51 main:: 667540.pl:35: man=0 [3561] 2008/02/12 12:29:51 main:: 667540.pl:36: woman=0 [3574] 2008/02/12 12:30:00 main:: 667540.pl:35: man=1 [3574] 2008/02/12 12:30:00 main:: 667540.pl:36: woman=0 $ perl 667540.pl --man --woman $ cat 667540.log [3561] 2008/02/12 12:29:51 main:: 667540.pl:35: man=0 [3561] 2008/02/12 12:29:51 main:: 667540.pl:36: woman=0 [3574] 2008/02/12 12:30:00 main:: 667540.pl:35: man=1 [3574] 2008/02/12 12:30:00 main:: 667540.pl:36: woman=0 [3576] 2008/02/12 12:30:05 main:: 667540.pl:35: man=1 [3576] 2008/02/12 12:30:05 main:: 667540.pl:36: woman=1
--
Andreas