Thread close STDOUT funktioniert nicht (17 answers)
Opened by Gustl at 2014-01-16 20:22

styx-cc
 2014-01-17 12:39
#173042 #173042
User since
2006-05-20
533 Artikel
BenutzerIn

user image
2014-01-17T06:18:36 bianca
Das heißt, jeder gestartete Prozess ist vom startenden Prozess abhängig und der startende Prozess wartet auf alle gestarteten Prozesse. Um das zu verhindern braucht es die Option DETACHED_PROCESS, die leider weder fork() noch system() noch exec() noch sonst ein Perl Bordmittel kennt. Hier zeigt sich einmal mehr, dass Perl und Windows noch keine richtigen Freunde sind.


Ich behaupte, dass durchaus die Möglichkeit besteht Kind und Parent unter Windows unabhängig voneinander über system zu starten:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl 
use strict;
$|++;

print "parent: test1\n";

system 1, 'perl -e "$|++; for (1..10) {print \"child $_\n\"; sleep 1;}"';

print "parent: test2\n";
sleep 2;
print "parent: test3\n";
sleep 5;
print "parent: test6\n";


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PS E:\> perl .\test.pl
parent: test1
parent: test2
child 1
child 2
parent: test3
child 3
child 4
child 5
child 6
child 7
parent: test6
PS E:\> child 8
child 9
child 10

PS E:\>


Gruß
Pörl.

View full thread close STDOUT funktioniert nicht