我正在使用快速从生成的命令(ffmpeg,而不是它重要)管道stdout,但是如果子进程失败,我仍然得到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);