相关疑难解决方法(0)

如何在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;
Run Code Online (Sandbox Code Playgroud)

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;
Run Code Online (Sandbox Code Playgroud)

两种方式display.txt总是空的.

perl system alarm

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

alarm ×1

perl ×1

system ×1