1

这是我写的代码,当我执行代码时,终端没有输出任何东西,程序被阻塞了

var util=require('util')
var exec=require('child_process').exec;
exec('iostat 5',function(err,stdout,stderr){
    util.puts("hello")
    util.puts(stdout)
})

如果我像这样更改 exec 命令:它可以工作并输出文件列表

var util=require('util')
var exec=require('child_process').exec;
exec('ls -al',function(err,stdout,stderr){
    util.puts("hello")
    util.puts(stdout)
})

块命令(iostat)和非块命令(ls)之间有什么区别吗?

4

1 回答 1

2

iostat 5每 5 秒永远循环一次并且永远不会终止,因此您的 exec 回调将永远不会被调用。相反,您可以iostat从通话中拨打电话,或者如果您只需要一次setInterval就删除它。5

于 2012-04-08T09:15:01.003 回答