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) と非 bolck コマンド (ls) の違いはありますか?

4

1 に答える 1

2

iostat 55 秒ごとに永遠にループし、決して終了しないため、exec コールバックが呼び出されることはありません。代わりにiostat、通話から呼び出すか、一度だけ必要な場合はsetInterval削除することができます。5

于 2012-04-08T09:15:01.003 に答える