Как я могу завершить системную команду с тревогой в Perl?

Я использую приведенный ниже фрагмент кода в Windows. Сервер начинает слушать непрерывно после чтения от клиента. Я хочу прекратить эту команду после определенного периода времени.

Если я используютревога() вызов функции внутриmain.plзатем завершает всю программу Perl (здесьmain.pl), так я назвал этосистема команда, поместив его в отдельный файл Perl и вызвав этот файл Perl (alarm.pl) в исходном файле Perl, используясистема команда.

Но таким образом я не смог принять вывод этогоsystem() не вызывайте ни в исходном Perl-файле, ни в вызываемом Perl-файле.

Может кто-нибудь, пожалуйста, дайте мне знать, как прекратитьsystem() позвонить или принять вывод таким образом, как я использовал выше?

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;

В обе стороныdisplay.txt всегда пусто

Ответы на вопрос(4)

Ваш ответ на вопрос