2016-04-29 13 views
0

node.jsからlinuxコマンドを実行する必要があるプログラムを作成しています。ここでは、このnode.jsの子プロセスを使用し、コマンド完了時に関数を呼び出す

final_command.stdout.on('data', function(data) { 
    fs.writeFile(dates+'.html', data, function(err){ 
     if(err){ 
      return console.error(err); 
     } 
    }); 
}); 

final_command.stderr.on('data', function(data) { 
    console.log('stderr: '+data); 
}); 

final_command.on('exit', function(code) { 

}); 

よう

は私がHTMLファイルに出力を保存しています。プログラム

の他の部分を実行するために、今すぐ

私はfinal_command.on部分にそれを置くべきか、どのように私はその部分に関数を呼び出すことができますか?

私はそれが不毛の質問ですが、それでも知っています。

答えて

0

「私はそれをfinal_command.onの部分に置くべきですか?またはその部分の関数をどのように呼び出すことができますか?不明です。 final_commandの記入方法を尋ねるのですか?もしそうなら、あなたがそれをやる方法はここにあります。

var spawn = require('child_process').spawn; 
var fs = require('fs'); 
var dates = 'dates'; 

var command = 'ls'; 
var final_command = spawn(command); 

final_command.stdout.on('data', function childoutdata) { 
    fs.writeFile(dates+'.html', data, function childdatawrite(err){ 
     if(err){ 
      return console.error(err); 
     } 
    }); 
}); 

final_command.stderr.on('data', function(data) { 
    console.log('stderr: '+data); 
}); 

final_command.on('exit', function childexit(code) { 

}); 

の質問はどのようにして、ファイル操作の後、作業を​​継続する場合、それが依存している場合: 子プロセスアクション、データの到着とファイルへの書き込みがすべてを先行すべき場合は、あなたの残りの部分を記述する必要がありますchilddatawriteのコードの 子プロセスが気になるものなら、残りのコードをchildexitに書くべきです。 残りのコードが子ビジネスと同期しない場合、コードを現在のブロックの外に置くことができます。

これが役に立ちます。

関連する問題