use Proc::Daemon; use Proc::PID::File; Proc::Daemon::Init; my $pf = new Proc::PID::File(dir => '/tmp'); die "Already running!" if $pf->alive(); # Child code goes here