User since
2003-08-15
2653
Artikel
BenutzerIn
wollte grad ne Pipe bauen aber anscheinend mag XP sowas nicht... forken klappt aber ganz gut, wobei ich mich frage was open() macht, theoretisch open() doch intern auch forken... komisch
User since
2003-08-11
457
Artikel
BenutzerIn
Quoteopen to "|-" and "-|" are unsupported. (Mac OS,
Win32, RISC OS)
-> perldoc perlport
,,Das perlt aber heute wieder...'' -- Dittsche
User since
2003-08-15
2653
Artikel
BenutzerIn
mist sowas blödes
Ich muss einige Anweisungen in ein Kind verlagern und die entstandenen Ergebnisse an die Mutter zurückgeben, wie kann ich das ohne open noch machen?
Im Kamelbuch hab ich was von pipe() gelesen, aber wie gehts dann weiter?
pipe(MUTTER, KIND);
...
und wie forke ich das?
User since
2003-08-08
2561
Artikel
HausmeisterIn
perldoc perlfork
Gruß, Erik!
s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}
It's not a bug, it's a feature! - [CGI-World.de]
User since
2003-08-04
14371
Artikel
ModeratorIn
http://wiki.perl-community.de/bin/view/Wissensbasi...
Wenn Du mehrere forks() machen willst und zu jedem Child eine Pipe haben willst:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#! /usr/bin/perl
use strict;
use warnings;
use POSIX ":sys_wait_h";
fork_it();
#--------------------------------------------------------------------------------#
# Subroutines #
#--------------------------------------------------------------------------------#
##
# fork_it starts several processes for domain-requests
##
sub fork_it{
for (1..5){
pipe(READER,WRITER);
my $pid=fork();
if($pid==-1){
warn($!);
last;
}
if($pid){
close WRITER;
while(my $line = <READER>){
# lese aus der Pipe
}
$pids{$pid}=1;
}
else{
close READER;
print WRITER "irgendwas\n";
exit(0);
}
}
while(keys %pids){
my $pid=waitpid( -1, WNOHANG );
die "$!" if $pid == -1;
delete $pids{$pid};
}
}
}# end fork_it