Thread Ablauf bei zu langen Tasks (7 answers)
Opened by peterb at 2022-06-14 10:06

peterb
 2022-06-14 10:06
#194373 #194373
User since
2010-05-19
42 Artikel
BenutzerIn
[default_avatar]
Hallo Community!

Ich habe ein Script welches ein Kommando ausführt und abbricht, wenn es zu lange dauert. Jetzt hat sich das Tool ein wenig geändert und kommt manchmal mit einem STDIN, wo es ein PW benötigt. Ich würde das gerne abbrechen und im Code weiter fortsetzen. Hat vielleicht jemand einen Tipp ob man das hier einbauen kann?

Vielen Dank
Peter

Code: (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 $cmd = 'ping';
my $host = '127.0.0.1';
my $timeout = 3;
my @cmd = ();

eval {
local $SIG{ALRM} = sub { die "alarm\n" };
alarm $timeout;

open my $pipe, '-|', "$cmd -c 5 $host"
or die "Could not open pipe: $!";
while ( my $line = <$pipe> ) {
push @cmd, $line;
}
close $pipe;

alarm 0;
};

if ($@) {
print "Output: @cmd\n";

print "timed out - $@\n";
warn unless $@ eq "alarm\n";
} else {
print "Output: @cmd\n";

print "No time out\n";
}

View full thread Ablauf bei zu langen Tasks