1 | #!/usr/bin/perl -w |
---|
2 | |
---|
3 | use POSIX; |
---|
4 | use POSIX qw(setsid); |
---|
5 | |
---|
6 | $0 =~ s/.*\///; # Set process name to filename without path |
---|
7 | |
---|
8 | $|=1; # Flush buffers and desable I/O buffering |
---|
9 | chdir '/' or die "Can't chdir to /: $!"; |
---|
10 | umask 0; |
---|
11 | open STDIN, '/dev/null' or die "Can't read /dev/null: $!"; |
---|
12 | open STDOUT, '>/dev/null' or die "Can't write to /dev/null: $!"; |
---|
13 | defined ( my $pid = fork ) or die "Can't fork: $!"; |
---|
14 | if ( $pid != 0 ) { |
---|
15 | exit; |
---|
16 | }; |
---|
17 | POSIX::setsid() or die "Can't start a new session: $!"; |
---|
18 | while ( 1 ) { |
---|
19 | }; |
---|