if($pid=fork()){ #This is parent# #do some work# exit 0; } elsif(!defined $pid){ #fork failed# } else{ #this is the child that will run as daemon# setpgrp(0,0); chdir('/'); #implement some additional logic }