我在对着Nodejs高级教程学习,有一节是向客户端传送子进程输出的例子。
var spawn=require('child_process').spawn;
require('http').createServer(function(req,res){
var child=spawn('tail',['-f','/var/log/system.log']);
child.stdout.pipe(res);
res.on('end',function(){
child.kill();
});
}).listen(4007);
我是在windows系统中安装的babun,然后使用curl命令成功看到结果:
但是在服务器上打开就一直失败...
真心求教。。。强迫症的我一直在研究中.....
__
EDGE11和ff可以。。。不理解 chrome的安全机制吗(我有两个chrome,都无效)
迷茫2017-04-17 16:23:59
カールが決して終わらないことに気づきませんでしたか?これは正常ではありません。
主な理由は、子プロセスが tail -f コマンドを使用するため、res の終了時間がトリガーされず、このリクエストが決して終了しないことです。
cat コマンドを使用してみてください
迷茫2017-04-17 16:23:59
偽の Chrome を使用している可能性があります。 。これは私にとって普通のことです。
しかし、唯一の問題は、データを要求し続けることです。 。 tail コマンドが終了していないはずです。