5
我用快遞管道從催生命令的標準輸出(ffmpeg的,這不是問題),但如果孩子PROC失敗我仍然獲得了200如何在從派生命令輸出管道時返回錯誤?
有什麼辦法,我可以返回500,如果退出代碼是非零? (我認爲標頭已位於被再發送):
const express = require('express');
const { spawn } = require('child_process');
var app = express();
app.get('/video', function(req, res) {
var cmd = "ffmpeg";
var args = ["--wat"];
var proc = spawn(cmd, args);
res.contentType('video/mp4');
proc.stdout.pipe(res);
proc.stderr.pipe(process.stdout);
proc.on("exit", code => {
console.log("child proc exited:", code);
//res.status(code > 0 ? 500 : 200).end();
});
res.on("close",() => {
proc.kill("SIGKILL");
});
});
app.listen(4000);