我正在制作一个程序,我需要通过node.js执行一些linux命令。
像这样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 :(得分: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中编写其余的代码。 如果其余代码与子业务不同步,则可以将代码放在当前块之外。
希望这有帮助。