gpt4 book ai didi

node.js - 如何杀死node.js中生成的进程

转载 作者:太空宇宙 更新时间:2023-11-04 02:10:01 27 4
gpt4 key购买 nike

我有一个函数需要在生成新进程之前终止前一个 ffmpeg 进程,但是我不确定如何执行此操作,因为如果我尝试以下代码,我会得到 ffmpeg is not Defined 的信息:

var ffmpeg_started = false;
function start_ffmpeg(file) {
if (ffmpeg_started)
ffmpeg.kill();
var command = [
'-i', file,
'-f', 'mpegts',
'-codec:v', 'mpeg1video',
'http://server.com/'
];
}
const ffmpeg = spawn('ffmpeg', command);
ffmpeg_started = true;
}

最佳答案

一个简单/简单的解决方案是将 ffmpeg 声明移动到父作用域中。然后,您可以取消 bool 标志,只检查 ffmpeg 的值来判断它是否仍在运行。例如:

var ffmpeg;
function start_ffmpeg(file) {
if (ffmpeg)
ffmpeg.kill();
ffmpeg = spawn('ffmpeg', ...);
}

如果您需要比这更复杂的东西,您可以考虑使用队列或类似的东西来更优雅地处理 ffmpeg 的调用。

关于node.js - 如何杀死node.js中生成的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42662397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com