CNode

怎么才可以获得 top命令的结果

Ffewu2发布于13 年前最后回复13 年前6 回复5275 浏览0 收藏

我是新手,想通过获取控制台输出,实现对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
yakczh#1·13 年前

topn -cbn 1

F
fewu2#2·13 年前
引用 yakczhtopn cbn 1

MacOS没这条命令吧

S
shiedman#3·13 年前

楼主给出的链接里面,老外已经明确的给出了答案,试过了没

var top = spawn('/usr/bin/top', [], {customFds: [process.stdin.fd, -1,-1]});
F
fewu2#4·13 年前

试过了不行。手头没有linux机器,不知道在linux下”top -b“ 可行

参与回复
登录后即可参与回复。登录