if (my $ChildPid = fork) { # Parent - create lock and exit my $Lock = Childlck->new($ResName); $Lock->lock_mk($ChildPid); exit 0; } else { # Child - continue as G daemon exec $CMD, $CMDLineArgs, @ARGV; }