Leser: 2
![]() |
|< 1 2 >| | ![]() |
13 Einträge, 2 Seiten |
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 40 41
#!/usr/bin/perl use POSIX; use warnings; use strict; my $file = "lines.txt"; open(LINES, "<$file"); my @ar_lines = <LINES>; print $ar_lines[0]."\n"; foreach my $link (@ar_lines) { print $link."\n"; my $pid = fork(); if($pid == 0){ # Child-Prozess print "Ich bin das Kind: ",$$,"\n"; exec("/usr/bin/firefox ' $link'"); exit(0); } else { # Parent-Prozess print "Ich bin der Vater: ",$$,"\n"; print "Und mein Kind ist: ",$pid,"\n"; # Etwas Ausgabe: for((reverse(1..35)){ print "warte noch $_ Sekunden\n"; sleep 1; } # Kind töten kill(15,$pid); waitpid($pid); } sleep(20); }
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 40 41 42 43 44 45 46 47
#!/usr/bin/perl use POSIX; use warnings; use strict; my $file = "lines.txt"; open(LINES, "<$file"); my @ar_lines = <LINES>; print $ar_lines[0]."\n"; foreach my $link (@ar_lines) { print $link."\n"; my $pid = fork(); if($pid == 0){ # Child-Prozess print "Ich bin das Kind: ",$$,"\n"; $SIG{ALRM}=sub{ exit(0) }; alarm(35); system("/usr/bin/firefox ' $link'"); exit(0); } else { # Parent-Prozess print "Ich bin der Vater: ",$$,"\n"; print "Und mein Kind ist: ",$pid,"\n"; # Etwas Ausgabe... my $count=0; while(waitpid($pid, WNOHANG)){ sleep 1; $count++; print "warte schon $count Sekunden\n"; # Kind abwürgen (9 = SIGKILL) if($count > 37 ){ kill(9,$pid); print "Toete $pid\n"; } } } sleep(20); }
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
#!/usr/bin/perl use POSIX; use warnings; use strict; my $file = "lines.txt"; open(LINES, "<$file"); my @ar_lines = <LINES>; print $ar_lines[0]."\n"; foreach my $link (@ar_lines) { print $link."\n"; my $time=time(); # eval führt den code "getrennt" aus # Signale etc. haben keine Wirkung # auf das Script drum herum eval { $SIG{ALRM}=sub{alarm(0); exit(0) }; alarm(35); system("/usr/bin/firefox '$link'"); alarm(0); } print "Habe ".( time() - $time )." Sekunden gebraucht\n"; sleep(20); }
![]() |
|< 1 2 >| | ![]() |
13 Einträge, 2 Seiten |