怎么才可以获得 top命令的结果
发布于 12 年前 作者 fewu2 4427 次浏览 最后一次编辑是 8 年前

我是新手,想通过获取控制台输出,实现对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 回复

MacOS没这条命令吧

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

var top = spawn('/usr/bin/top', [], {customFds: [process.stdin.fd, -1,-1]});

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

我在ubuntu下试了,可以的.

@jimokanghanchao 谢谢,看来还得弄台server才行

回到顶部