我使用的是WindowsSTDOUT机,正在尝试从命令捕获x64和STDERR流。我还必须写入命令的STDIN。我正在尝试使用perl的IPC::Open3来完成这个任务,但没有成功。我使用脚本posted here和命令作为这个脚本here。当然,我将$cmd变量替换为"perl test.pl“。
它应该打印“StdOut!”和“StdErr!”,以及pid,但我只得到PID。我不知道是因为我的操作系统,还是因为线程使用了10年(没什么大不了的,Perl 5差不多18岁了,对吧?)。另一个和尚发布了this脚本来修复另一个中的任何问题,但在我的计算机上它永远不会退出。
谁能给我一个使用open3在perl中启动一个命令,写到它的STDIN,并捕获它的STDERR和STDOUT的工作示例?
发布于 2012-08-03 04:03:41
select只适用于Windows中的套接字;它不适用于管道。您可以创建套接字并将其传递给open3,而不是让它为您创建管道(如here所示),但我建议您使用更高级别的模块,如IPC::Run。open3是一个相当低级的函数。
https://stackoverflow.com/questions/11784797
复制相似问题