gpt4 book ai didi

c - 从 C 中生成的 ffmpeg 进程中优雅地提前退出

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:22:58 27 4
gpt4 key购买 nike

我有一个程序,我在其中构建一个 ffmpeg 命令字符串来捕获带有通过 gtk3 gui 输入的选项的视频。选择完所有选项后,我会使用 ffmpeg 命令字符串生成一个进程。我还添加了一个 child watch 来告诉我该过程何时完成。

  // Spawn child process 
ret = g_spawn_async (NULL, argin, NULL, G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &pid1, NULL);
if ( !ret )
{
g_error ("SPAWN FAILED");
return;
}

/* Add watch function to catch termination of the process. This function
* will clean any remnants of process */
g_child_watch_add (pid1, (GChildWatchFunc)cb_child_watch, widget );

使用命令行从终端执行 ffmpeg,程序将提供一个选项,让您在终端输入“q”以提前结束 ffmpeg 进程。有没有办法向生成的进程发送“q”以优雅地结束 ffmpeg?我相当确定我可以使用进程 ID 终止进程,但我宁愿使用允许 ffmpeg 正常退出的机制来停止它。这是运行 Centos 7,内核 4.7.5,ffmpeg 版本 3.0.2。因为我仍然可以访问显示 ffmpeg 输出的终端,所以我尝试输入“q”,但它对进程没有影响。

最佳答案

您可以尝试使用 killSIGTERM,而不是尝试优雅地使用 q。这仍然会提供您的正常关机,尽管它可能并不总是立即停止 ffmpeg。

关于c - 从 C 中生成的 ffmpeg 进程中优雅地提前退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40160458/

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