Thread Skript nach Programmaufruf fortsetzen
(12 answers)
Opened by IceRage at 2008-09-16 02:13 IceRage+2008-09-16 00:13:48-- Also nochmal zum Kern des Problemes. Ich würde folgendes machen: 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 use strict; use warnings; use POSIX; use constant TIMEOUT => 20; my $firefox; unless ($firefox = fork) { die "Failed to fork: $!" unless (defined $firefox); exec '/woimmer/ich/bin/firefox', 'http://www.example.com/'; die "Failed to spawn firefox: $!"; } else { # remember time the browser was started my $start = time; my $remaining = TIMEOUT; # only loop while the browser is still running and the timeout is not over while (waitpid($firefox, WNOHANG) < 0 and $remaining > 0) { sleep $remaining; $remaining = $start + TIMEOUT - time; } # send the browser a TERM signal kill TERM => $firefox; # clean up the zombie process die "Problems cleaning up the browser process: $!" if (waitpid($firefox, 0) < 0); } (Vorsicht: Code ungetestet!) Anmerkung: Falls Du eigentlich nur alle paar Sekunden eine neue Webseite anzeigen willst, musst Du den Browser, den Du startest, nicht wieder beenden. Suche mal im Netz nach firefox -remote 'openURL(...)'... When C++ is your hammer, every problem looks like your thumb.
|