我是新手,想通过获取控制台输出,实现对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
回复 (6)
Y
topn -cbn 1
F
引用 yakczhtopn cbn 1
MacOS没这条命令吧
S
楼主给出的链接里面,老外已经明确的给出了答案,试过了没
var top = spawn('/usr/bin/top', [], {customFds: [process.stdin.fd, -1,-1]});
F
试过了不行。手头没有linux机器,不知道在linux下”top -b“ 可行
J
F
引用 shiedman楼主给出的链接里面,老外已经明确的给出了答案,试过了没 var top = spawn('/usr/bin/top', [], {customFds: [process.stdin.fd, 1...
@jimokanghanchao 谢谢,看来还得弄台server才行
参与回复
登录后即可参与回复。登录