Leser: 6
8 Einträge, 1 Seite |
[E|B,04.08.2004, 22:35][quote=Ronnie,04.08.2004, 22:16]probier es mal mit exec.
1
2
3
4
5
6
7
8
my $pid = fork;
if (!defined $pid) {
die "Irgendwas ist schief gelaufen: $!";
} elsif ($pid == 0) { # child
exec "externes kommando", "arg1", ...;
die $!;
}
# hier laeuft der parent weiter
[E|B,04.08.2004, 22:35][quote=Ronnie,04.08.2004, 22:16]probier es mal mit exec.
1
2
3
4
5
6
7
8
my $pid = fork;
if (!defined $pid) {
die "Irgendwas ist schief gelaufen: $!";
} elsif ($pid == 0) { # child
exec "externes kommando", "arg1", ...;
die $!;
}
# hier laeuft der parent weiter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use POSIX 'setsid';
chdir '/'; # Nicht zwangsläufig aber zu empfehlen
umask 0; # Lalala
open STDIN, '/dev/null'; # Daemons interagieren nicht
open STDOUT, '>/dev/null'; # Unsere konsole soll sauber bleiben
open STDERR, '>/dev/null'; # dito
my $pid = fork; # Child starten
exit if $pid; # Parent töten
setsid; # Wir wollen init als neuen parent
while (1) {
# Sachen machen
}
8 Einträge, 1 Seite |