+
+ unless ($opts{f}) {
+ use POSIX 'setsid';
+ chdir '/' or die "Can't chdir to /: $!";
+ open STDIN, '/dev/null' or die "Can't read /dev/null: $!";
+ open STDOUT, '>/dev/null' or die "Can't write to /dev/null: $!";
+ my $pid;
+ defined($pid = fork) or die "Can't fork: $!";
+ exit if $pid;
+ setsid or die "Can't start a new session: $!";
+ defined($pid = fork) or die "Can't fork: $!";
+ exit if $pid;
+ open STDERR, '>&STDOUT' or die "Can't dup stdout: $!";
+ }
+