node.js中的process.exec()
这里是我写的代码,当我执行代码,terminal没有输出任何东西,程序被阻止
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) })
block命令(iostat)和nonbolck命令(ls)之间有什么不同?
iostat 5
每5秒永远循环,永不终止,所以你的执行callback将永远不会被调用。 相反,你可以通过setInterval
调用来调用iostat
,或者只需要删除5
就可以了。