繁体   English   中英

node.js中产生的进程立即退出

[英]spawned process in node.js exiting immediately

我正在尝试在node.js中生成avconv进程。 它应该在stdin上接收数据,并将转换后的数据输出到stdout

当命令在外壳中运行时,它立即在node.js中关闭,我不知道为什么:

avconv -v quiet -i pipe:0 -vn -f s16le -acodec pcm_s16le pipe:1

那是可行的,并且在node中:

var a = spawn('avconv', ['-v quiet -i pipe:0 -vn -f s16le -acodec pcm_s16le pipe:1']);

a.on('exit', function(code) {
    pr(code, true);
})

我立即得到一个“ 1”退出代码。 谁能告诉我这是怎么回事?

您需要自己分隔参数数组:

var a = spawn('avconv', ['-v', 'quiet', '-i', 'pipe:0', '-vn', '-f', 's16le', '-acodec', 'pcm_s16le', 'pipe:1']);

Shell会提供您习惯于命令行工作的空格(bash,zsh ...)。 Shell使用空格将您的命令分解为参数,并通过添加引号让您说“我希望将此作为单个参数”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM