How can I terminate a system command with alarm in Perl?
Posted
by rockyurock
on Stack Overflow
See other posts from Stack Overflow
or by rockyurock
Published on 2010-04-01T19:06:54Z
Indexed on
2010/04/01
19:23 UTC
Read the original article
Hit count: 443
I am running the below code snippet on Windows. The server starts listening continuously after reading from client. I want to terminate this command after a time period.
If I use alarm() function call within main.pl
, then it terminates the whole Perl program (here main.pl
), so I called this system command by placing it in a separate Perl file
and calling this Perl file (alarm.pl
) in the original Perl File using the system command.
But in this way I was unable to take the output of this system()
call neither in the original Perl File nor in called one Perl File.
Could anybody please let me know the way to terminate a system()
call or take the output in that way I used above?
main.pl
my @output = system("alarm.pl");
print"one iperf completed\n";
open FILE, ">display.txt" or die $!;
print FILE @output_1;
close FILE;
alarm.pl
alarm 30;
my @output_1 = readpipe("adb shell cd /data/app; ./iperf -u -s -p 5001");
open FILE, ">display.txt" or die $!;
print FILE @output_1;
close FILE;
In both ways display.txt
is always empty.
© Stack Overflow or respective owner