如何在不捕获输出的情况下从 exec 获取 return 值?
How can I get the return value from exec without capturing the output?
调用exec()
时,我想捕获调用的return值,但我对输出本身不感兴趣。 exec()
提供两个可选参数,通过引用传递,将分别由输出和 return 值填充。
所以我可以这样做,只是忽略 $output
:
exec($command, $output, $return_value);
但是如果输出很多怎么办?我不想 运行 内存不足,因为 $output
已满。
我想也许我可以这样做,但显然通过引用传递文字是无效的,我很快发现:
exec($command, null, $return_value);
所以现在我想知道,有没有办法解决这个问题?
我可以调整$command
的值,将输出重定向到shell级别的/dev/null
,这样就解决了内存使用问题, 但如果我无法预测 $command
.
的起始值,这不是一个好的解决方案
尝试system ( string $command [, int &$return_var ] )。它将 return 状态写入第二个参数,并且只有 return 是输出的最后一行,如果不需要,则不需要分配它:
system($command, $return_value);
调用exec()
时,我想捕获调用的return值,但我对输出本身不感兴趣。 exec()
提供两个可选参数,通过引用传递,将分别由输出和 return 值填充。
所以我可以这样做,只是忽略 $output
:
exec($command, $output, $return_value);
但是如果输出很多怎么办?我不想 运行 内存不足,因为 $output
已满。
我想也许我可以这样做,但显然通过引用传递文字是无效的,我很快发现:
exec($command, null, $return_value);
所以现在我想知道,有没有办法解决这个问题?
我可以调整$command
的值,将输出重定向到shell级别的/dev/null
,这样就解决了内存使用问题, 但如果我无法预测 $command
.
尝试system ( string $command [, int &$return_var ] )。它将 return 状态写入第二个参数,并且只有 return 是输出的最后一行,如果不需要,则不需要分配它:
system($command, $return_value);