【发布时间】:2019-01-03 12:09:22
【问题描述】:
我试图杀死一个用 exec 打开的子进程。从那以后我就不能使用 spawn,子进程似乎不起作用。
我错过了什么吗?子进程是不可杀死的吗?
提前致谢
*编辑:代码
const child = exec(
__dirname +
"/ffmpeg/bin/ffmpeg -i " + url + " -acodec copy -vcodec copy " + savePath,
function(error, stdout, stderr) {
console.log("stdout: " + stdout);
console.log("stderr: " + stderr);
if (error !== null) {
console.log("exec error: " + error);
}
}
);
【问题讨论】:
-
你能和我们分享一个示例代码吗?
-
我用我使用的示例代码更新了问题
-
你是如何试图杀死进程的?
-
exec打开一个 shell 来执行你传递的命令。有些程序最终可能会独立于 shell 运行。你为什么不使用spawn? -
@TGrif:我尝试使用 process.kill() 和 process.stdin.write("q") (应该关闭命令),但两者都不起作用。