这是我写的代码,当我执行代码时,终端没有输出任何内容并且程序被阻止
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)之间有什么区别吗?
答案 0 :(得分:2)
iostat 5
每5秒循环一次,永远不会终止,所以永远不会调用你的exec回调。相反,您可以通过iostat
来电拨打setInterval
,或者只需删除5
,如果您只需要一次。