如何用Nodejs捕获命令行输出?

时间:2015-11-20 12:48:20

标签: node.js unix

我想抓住这个"完成的时间"在控制台输出,但我不知道如何做到这一点:

var cp = require('child_process');

cp.exec('avconv -strict experimental -i ' + filename + ' ' + tempname + ';' + ' echo done', function(err, stdout, stderr) {
    console.log(err);
    console.log(stdout);
    console.log(stderr);
});

尝试检查stdout,但它只是带来了很多关于该文件的信息。

avconv是一个用于转换文件的工具,因此我的目标是检查转换何时完成并继续进行。

2 个答案:

答案 0 :(得分:1)

stdout 确实返回命令的输出。你应该先尝试一些更简单的东西,看看你是否真的正确地调用了命令。

试试这个:

child_process.exec('ls', function (err, stdout, stderr){
    if (err) {
        console.log("error: " + err.code);
    }
    console.log(stdout);
});

答案 1 :(得分:0)

您可以获得调用exec回调的时间

var cp = require('child_process');
cp.exec('ls', function(err, stdout, stderr) {
   console.log(new Date())
});