簡體   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