#!/usr/bin/perl
# daemon.pl
use POSIX qw(setsid);
use IO::All;
use strict;
use warnings;
daemonize();
my $date_time;
while (1) {
$date_time = scalar localtime;
qq($date_time\n) > io('/tmp/daemon.log');
sleep 5;
}
sub daemonize {
defined (my $child = fork) or die qq(I really can't do that...!\n);
exit if ( $child );
setsid();
open( STDIN, "/dev/null" ); # inferior mistake!
open( STDOUT, ">/dev/null" );
open( STDIN, ">&STDOUT" );
chdir '/';
umask(0);
# ENV{PATH} = qq(what/you/really/need);
}
__END__
####
tail -f /tmp/daemon.log
####
# ps aux | grep '[/]usr/bin/perl ./daemon.pl' | perl -ane 'print $F[1]';
# if many...
ps aux | grep '[/]usr/bin/perl ./daemon.pl' | perl -ane 'print $F[1] . qq(\n)'
####
# kill -TERM $(ps aux | grep '[/]usr/bin/perl ./daemon.pl' | perl -ane 'print $F[1]';)
# if many...
kill -TERM $(ps aux | grep '[/]usr/bin/perl ./daemon.pl' | perl -ane 'print $F[1] . qq(\n)')