Thread Problem mit fork() (24 answers)
Opened by bianca at 2015-09-05 20:15

bianca
 2015-09-05 20:15
#182065 #182065
User since
2009-09-13
6976 Artikel
BenutzerIn

user image
Hallo!

Habe Code nach folgendem Schema:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
my $pid = fork();

# Fehler
if (!defined $pid) {
# gibt Fehlermeldung aus
}

# Vater
elsif ($pid) {
# gibt zurück an das aufrufende JS Ajax
}

# Sohn
else {
# startet den neuen Prozess und stirbt
close STDIN;
close STDOUT;
exec("perl meinscript.pl $$parameter"); # exec() kommt nicht zurück im Gegensatz zu system()
exit();
}


Funktioniert auf einem Debian Host mit Perl "This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi" und bei mir auf Win7 mit Strawberry "This is perl 5, version 18, subversion 4 (v5.18.4) built for MSWin32-x64-multi-thread" perfekt.

Auf einem anderen Debian Host bei einem anderen Hoster mit Perl "This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi" klappt es nicht.
Und zwar bekommt das Ajax auf seinen Request nichts zurück vom Vater Prozess. Der Browser bringt einfach irgendwann mal die Meldung, dass der Request kaputt gegangen ist.

Verhält sich Perl 14 an der Stelle anders?
Wie kann ich der Ursache näher kommen, testen ist ja nicht ganz trivial, weil man auf einem shared Host ja nichts abfragen kann.

Danke
10 print "Hallo"
20 goto 10

View full thread Problem mit fork()