【发布时间】:2015-06-13 20:50:22
【问题描述】:
我在节点应用程序中使用 scp 命令将文件传输到服务器; 传输时我无法在控制台中显示进度,如果您在 shell 中手动使用“scp”,通常会这样做; 这是我的代码:
//require system modules
var spawn = require('child_process').spawn;
console.log("copy begins...");
var executor = spawn("scp", ["-r", ".tmp/app.tar.gz", "user@server:/home/user"]);
executor.stderr.on('data', function(data) {
console.log(data.toString());
});
executor.stdout.on('data', function(data) {
console.log(data.toString());
});
executor.stdout.on('end', function(data) {
console.log("copied");
});
executor.on('close', function(code) {
if (code !== 0) {
console.log('Failed: ' + code);
}
});
这只是登录控制台“复制开始...”和“已复制”,但没有别的; 是否有可能在执行过程中获取 scp 命令的输出并将其发送到控制台?
【问题讨论】:
-
您找到解决方案了吗?我也在努力解决同样的问题!