任何人都可以告诉我为什么除了正常的脚本输出之外什么都不打印?
open( PS, "python /home/me/someprogram.py --option1 A -d somedomain.com |" ) || die "Failed: $!\n";
while (<PS>) {
my $line = $_;
print "LINE = $line\n";
}
换句话说它永远不会打印出来:
LINE = ...
只是常规输出,就像我直接从命令行运行一样。
以下工作正常:
open( PS, "ps waux |" ) || die "Failed: $!\n";
while (<PS>) {
my $line = $_;
print "LINE = $line\n";
}
编辑(已解决)
这有效
open( PS, "python /home/me/someprogram.py --option1 A -d somedomain.com 2>&1 |" ) || die "Failed: $!\n";
while (<PS>) {
my $line = $_;
print "LINE = $line\n";
}
答案 0 :(得分:0)
这个怎么样?
open( PS, '-|','python /home/me/someprogram.py --option1 A -d somedomain.com' )