#!/usr/bin/env perl use POSIX qw(setsid); print daemonize(); sub daemonize { my $child = fork; if ( definded ($child) ) { exit 0 ; } else { die qq(I really can't...!\n); } setsid(); open( STDIN, "/dev/null" ); open( STDIN, ">&STDOUT" ); chdir '/'; umask(0); ENV{PATH}=q(/what/you/like); return $$; }