node.js中的process.exec()

时间:2012-04-08 09:04:03

标签: javascript node.js

这是我写的代码,当我执行代码时,终端没有输出任何内容并且程序被阻止

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)和nonbolck命令(ls)之间有什么区别吗?

1 个答案:

答案 0 :(得分:2)

iostat 5每5秒循环一次,永远不会终止,所以永远不会调用你的exec回调。相反,您可以通过iostat来电拨打setInterval,或者只需删除5,如果您只需要一次。