www.farid-hajji.net banner

Farid Hajji

Perl: Einführung, Anwendungen, Referenz (2/e) [Support-Site]

Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2

Beispielprogramm

parallel-file.pl
#!/usr/local/bin/perl -w
# parallel-file.pl -- Konkurrierender Zugriff auf eine Datei

use Fcntl;                       # Wg. der O_*-Konstanten
use Time::HiRes qw(sleep);       # CPAN: Mikrosekunden warten

unlink("/tmp/pfile");
sysopen(MYHANDLE, "/tmp/pfile", O_WRONLY | O_CREAT, 0666)
    or die "can't open file: $!\n";

$SIG{'INT'} = sub { close(MYHANDLE); die "$$ quitting...\n"; };

if (($nval = fork()) == -1) {
    die "can't fork(): $!\n";
} elsif ($nval) {
    # Elternprozess
    while (1) {
        foreach my $char ('A' .. 'Z', "\n") {
        syswrite(MYHANDLE, $char, 1);
        sleep(rand(0.1));
    }
    }
} else {
    # Kindprozess
    while (1) {
    foreach my $char ('a' .. 'z', "\n") {
        syswrite(MYHANDLE, $char, 1);
        sleep(rand(0.1));
    }
    }
}
   

[Prev] [Up] [Relevant Chapter] [Next]

[Alte Quelle]


Last modified: $Date: 2006/05/18 12:56:02 $
FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy
FreeBSD Logo