我知道backticks
可用于在命令完成执行后检索命令的输出,但我不知道如何在命令仍在执行时读取输出,或者如何同时使用多个终端执行此操作。
运行脚本的操作系统是 Ubuntu 17.04
如果你对Perl中的进程间通信有疑问,那么perlipc手册页可能是一个很好的起点。具体而言,在这种情况下,关于使用open()
进行IPC的部分似乎很有用。
基本上,您可以使用open()
打开进程的句柄,然后可以像从任何文件句柄读取数据一样从中读取数据。
文档中的示例使用netstat
:
open(STATUS, "netstat -an 2>&1 |")
|| die "can't fork: $!";
while (<STATUS>) {
next if /^(tcp|udp)/;
print;
}
close STATUS || die "bad netstat: $! $?";