我有一个需要调用shell脚本的PHP脚本,但根本不关心输出.shell脚本会进行大量的SOAP调用,并且完成起来很慢,因此我不想在等待回复时减慢PHP请求的速度.实际上,PHP请求应该能够在不终止shell进程的情况下退出.
我已经研究过的各种exec(),shell_exec(),pcntl_fork(),等功能,但他们都不似乎提供正是我想要的.(或者,如果他们这样做,我不清楚如何.)有什么建议吗?
如何运行命令行并尽快获取输出以显示它们.
例如,如果在Linux系统上运行ping命令,它将永远不会停止,现在是否可以在命令仍在处理时获取响应?或者让我们接受apt-get install命令,如果我想在运行时显示安装进度怎么办?
实际上我正在使用这个函数执行命令行并获取输出,但是在命令行结束之前函数不会返回,所以如果我运行ping命令它将永远不会返回!
var sys = require('sys'),
exec = require('child_process').exec;
function getOutput(command,callback){
exec(
command,
(
function(){
return function(err,data,stderr){
callback(data);
}
}
)(callback)
);
}
Run Code Online (Sandbox Code Playgroud)