0
不知道爲什麼這不起作用,如果我運行一個簡單的命令,如cmd ='ls -all',那麼我得到的輸出回來,但是當我用它來運行一個命令有一段時間才能完成,我什麼也沒有收到。節點js Child_process不返回標準輸出
在這個例子中,我使用的lftp鏡像某些文件夾,並希望得到答覆,如果我從終端運行命令那麼當然我看到的輸出,但是使用子過程中,我得到什麼:
var childProcess = require('child_process');
var cmd = 'lftp sftp://user:[email protected] -e "mirror -R --delete --parallel=5 /usr/share/scripts/ /volumes/folders/usr/share/;bye"';
childProcess.exec(cmd, function (error, stdout, stderr) {
console.log('stdout:'+stdout);
console.log('stderr:'+stderr);
console.log('error:'+error);
});
我也試過產卵方法,沒有從,要麼返回:
var spawn = require('child_process').spawn;
var lftp = spawn('lftp',['sftp://user:[email protected]', '-e "mirror -R --delete --parallel=5 /usr/share/scripts/ /volumes/folders/usr/share/;bye"']);
lftp.stdout.on('data', function(data) {
console.log(data.toString());
});