本文介绍了从shell_exec()获取输出和退出状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当做类似的事情
$output = shell_exec("command 2>&1");
收集命令的标准输出& $output
中的stderr,是否可以找到命令的退出状态?
collecting the command's stdout & stderr in $output
, is there a way to find the command's exit status?
可以将命令输出写入临时文件,然后附加退出状态,但这很笨拙.有更好的建议吗?
One could write the command output to a temp file and then append the exit status, but that's rather clunky. Any better suggestions?
推荐答案
如您所见,使用shell_exec时,必须将真实"命令与echo $链接起来?获取退出状态:
As you've already seen, when using shell_exec you have to chain your "real" command with echo $? to get the exit status:
$output_including_status = shell_exec("command 2>&1; echo $?");
但是,如果您希望使用简洁的方法,则可以使用 exec 函数,该函数为此明确允许使用第三个参数.
but if you want the clean way, then you want to use the exec function, which allows a 3rd agument explicitly for this purpose.
这篇关于从shell_exec()获取输出和退出状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!