Schrift
[thread]6834[/thread]

open(CHILD, "|-");: nicht Windows-kompatibel?



<< >> 5 Einträge, 1 Seite
Froschpopo
 2005-04-02 12:15
#53157 #53157
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
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
coax
 2005-04-02 12:22
#53158 #53158
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Quote
open to "|-" and "-|" are unsupported. (Mac OS,
Win32, RISC OS)

-> perldoc perlport
,,Das perlt aber heute wieder...'' -- Dittsche
Froschpopo
 2005-04-02 12:34
#53159 #53159
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
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?
[E|B]
 2005-04-02 14:12
#53160 #53160
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
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]
renee
 2005-04-02 16:45
#53161 #53161
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
http://wiki.perl-community.de/bin/view/Wissensbasi...

Wenn Du mehrere forks() machen willst und zu jedem Child eine Pipe haben willst:
Code: (dl )
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
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 5 Einträge, 1 Seite



View all threads created 2005-04-02 12:15.