我在Windows上运行以下代码段.从客户端读取后,服务器开始连续监听.我希望在一段时间后终止此命令.
如果我使用报警()内的函数调用main.pl,那么它会终止整个Perl程序(在这里main.pl),所以我称此系统通过将其放置在一个单独的Perl文件并调用这个Perl的文件(命令alarm.pl使用),在原有的Perl文件系统命令.
但是通过这种方式,我无法system()在原始Perl文件中或在被调用的Perl文件中获取此调用的输出.
有人可以让我知道终止system()呼叫的方式或以我上面使用的方式获取输出吗?
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 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总是空的.