Thread kleine Warteanimation
(5 answers)
Opened by RPerl at 2007-05-05 13:31
Ein kleines Belspiel wie man das machen kann. Ich benutze hier "fork" um die eigendliche Animation durch zu führen und "SIGUSR1" um einen Fortschrittsbalken zu realisieren.
Code (perl): (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 #!/usr/bin/perl use strict; use warnings; my $guipid=fork(); unless($guipid) { # GUI Läuft my @rotation=qw(/ - \ |); my $pos=0; my $del="\x08"; $|=1; $SIG{USR1}=sub{ print $del,'.',$rotation[$pos]; }; while(1) { print $del,$rotation[$pos]; select(undef, undef, undef, 0.15); $pos++; $pos=0 if($pos >= @rotation); } exit(0); } # Programm läuft for (0..10) { kill('USR1',$guipid); sleep(2); } kill(1,$guipid); waitpid($guipid,0); print "\n"; exit(0); |