Leser: 18
2014-01-17T06:18:36 biancaDas 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.
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";
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:\>
2014-01-17T10:44:50 rostiDas Script ja, aber nicht der Browser ;)