const EXEC = require('child_process').execSync;
const SPAWN = require('child_process').spawn;
const RL = require('readline');
使用这三个东东 + express,基本能能实现
比如:
var fnlist = ["1.bz2"];
var rl = RL.createInterface({
input: SPAWN('bzcat', fnlist).stdout,
output: process.stdout,
terminal: false
});
然后你
rl.on('line', function(line){
//我得到了shell的一行输出
}).on('close', function(){
//shell完成啦
});
注意很多都是异步的,以及node进程本身的权限、安全问题
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…