|< 1 2 >| | 15 Einträge, 2 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
$|++;
my $pid = fork();
unless($pid) {
while(1..) {
prozess_bei_den_eltern();
}
CORE::exit;
}
sub prozess_bei_den_eltern {
# hier sind wir wieder bei den Eltern
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/perl
$|++;
use Tk;
my $pid = fork();
unless($pid) {
while(1..5) {
sleep(1);
prozess_bei_den_eltern("$_");
}
CORE::exit;
}
my $window = MainWindow->new();
$window->Label(-text=>'')->pack();
sub prozess_bei_den_eltern {
$window->configure(-text => $_[0]);
}
MainLoop;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl
$|++;
my $pid = fork();
pipe(READER, WRITER);
unless($pid) {
while(1..) {
print READER "Text vom Kind";
sleep(1);
}
CORE::exit;
}
for(<READER>) {
print "Das Kind schreibt: $_\n";
}
close(READER);
# !!!was hier folgt wird nichtmehr ausgeführt !!!
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
#!/usr/bin/perl
$|++;
use strict;
use warnings;
use IO::Pipe;
use IO::Select;
my $pipe = IO::Pipe->new;
my $pid = fork();
unless($pid) {
$pipe->writer;
$pipe->autoflush(1);
for (1..2) {
$pipe->print("Text vom Kind\n");
sleep(2);
}
} else {
$pipe->reader;
$pipe->autoflush(1);
my $select = IO::Select->new($pipe);
while(1) {
if(my @handles = $select->can_read(0)) {
foreach (@handles) {
my $line = $_->readline;
print "Das Kind schreibt: $line\n";
}
}
print "Papa arbeitet.\n";
sleep(1);
}
}
|< 1 2 >| | 15 Einträge, 2 Seiten |