Thread $SIG{ALRM} unter windows: bricht nicht nach n sec. ab (3 answers)
Opened by styx-cc at 2006-12-13 19:41

styx-cc
 2006-12-13 21:11
#72530 #72530
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Super, das klappt schonmal =)
Allerdings erreiche ich mein entgueltiges Ziel noch nicht, ich hab den Code mal umgebaut:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use strict;
use warnings;

keep_alive(1);
sub main_program {
my $x = 10;
while($x--) {
print STDERR "sleep $x";
sleep(5);
}
}

sub keep_alive {
my $first = shift;
my $timeout = eval {
local $SIG{ALRM} = sub {print "SERVER-PING!\n"; keep_alive(0)};
alarm(15);
main_program() if $first == 1;
alarm(0);
};
}


Jetzt waere meine Frage, wie schaffe ich es das eine Art Timer rings um mein Script kommt, der alle 15 min eine Subroutine ausfuehrt, so wies da oben steht kanns ja nicht gehen, da er beim zweiten durchlauf nix mehr zu tun hat... allerdings faellt mir einfach nichts ein, ich hab da schon ne menge mit fork() probiert, allerdings habe sich dann das Problem das ich meine Globale Variable nicht mehr auf alle Prozesse auswirkt..

MfG
Pörl.

View full thread $SIG{ALRM} unter windows: bricht nicht nach n sec. ab