|< 1 2 >| | 14 Einträge, 2 Seiten |
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
use strict;
use warnings;
use Socket;
$| = 1;
my ($kidfh, $dadfh);
socketpair($kidfh, $dadfh, AF_UNIX, SOCK_STREAM, PF_UNSPEC)
or die "socketpair: $!";
if (my $pid = fork) {
close $dadfh;
print $kidfh "Parent Pid $$ sendet dies\n";
# PARENT HAENGT HIER
chomp(my $line = <$kidfh>);
print "Parent Pid $$ liest gerade dies: $line\n";
close $kidfh;
waitpid($pid,0);
} else {
close $kidfh;
# CHILD HAENGT HIER
chomp(my $line = <$dadfh>);
print "Child Pid $$ liest gerade dies: $line\n";
print $dadfh "Child Pid $$ sendet dies\n";
close $dadfh;
exit;
}
my $oldfh = select($kidfh); $| = 1; select($oldfh);
Quoteselect((select(STDERR), $| = 1)[0])
...
Das kommt dabei heraus, wenn sie Lisp gerade so gut beherrschen,
um gefährlich sein zu können.
Quoteuse IO::Handle; # Leider ist das *kein* kleines Modul
Quoteuse IO::Handle; # Leider ist das *kein* kleines Modul
1
2
3
4
5
6
7
8
9
10
11
12
use Socket;
my ($kidfh, $dadfh);
socketpair($kidfh, $dadfh, AF_UNIX, SOCK_STREAM, PF_UNSPEC)
or die "socketpair: $!";
my $oldfh;
$oldfh = select $kidfh;
print STDOUT $oldfh, "\n";
$oldfh = select $dadfh;
print STDOUT $oldfh, "\n";
|< 1 2 >| | 14 Einträge, 2 Seiten |