我是新手,想通过获取控制台输出,实现对server的监控,在mac机上用child_process 无法获得top命令的结果,总是提示 error: initializing curses,这是怎么回事?如何解决?谢谢!!
var spawn = require(‘child_process’).spawn, //com = spawn(‘iostat’,[’-w 1 | less -S’]);这个命令执行正常,可以得到结果 com = spawn(’/usr/bin/top’, []); //总是提示 error: initializing curses var io = require(‘socket.io’).listen(5555); com.stdout.on(‘data’, function(data){ io.sockets.emit(‘get result’, data); } );
com.stderr.on(‘data’, function(data){ console.log('stderr: ’ + data);
});`
我搜了下有人也遇到同样的问题,但是不知道解决了没,供大家参考 http://comments.gmane.org/gmane.comp.lang.javascript.nodejs/24248
topn -cbn 1
MacOS没这条命令吧
楼主给出的链接里面,老外已经明确的给出了答案,试过了没
var top = spawn('/usr/bin/top', [], {customFds: [process.stdin.fd, -1,-1]});
试过了不行。手头没有linux机器,不知道在linux下”top -b“ 可行
我在ubuntu下试了,可以的.
@jimokanghanchao 谢谢,看来还得弄台server才行