问题描述
我在对着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,都无效)
问题解答
回答1:你没有发现curl一直没有结束吗?这是不正常的。
主要原因在于你的子进程使用的是 tail -f 命令,使得 res 的 end 时间不会被触发,这个请求一直不会结束。
你可以换成 cat 命令试试
回答2:你可能用了假的chrome。。我这是正常的。
不过唯一的问题是一直在请求数据。。应该是tail 命令没有结束。