当前位置: 首页 > 面试题库 >

如何远程停止ffmpeg?

施鸿
2023-03-14
问题内容

我在另一台计算机上运行ffmpeg进行屏幕捕获。我希望能够停止它的远程录制。FFMPEG要求按q停止编码,因为它必须进行一些最终确定才能完全整理文件。我知道我可以使用kill
/ killall杀死它,但这可能会导致视频损坏。

Press [q] to stop encoding

我在Google上找不到专门用于此目的的任何东西,但是有人建议将回显到/ proc // fd / 0起作用。

我已经尝试过了,但是它并没有停止ffmpeg。但是,q显示在运行ffmpeg的终端中。

echo -n q > /proc/16837/fd/0

那么,如何将字符发送到另一个现有进程中,就像在本地键入一样?还是有另一种方法可以干净地远程停止ffmpeg。


问题答案:

至少在Ubuntu Oneiric上,较新版本的ffmpeg不再使用“ q”,而是说按Ctrl + C停止它们。因此,对于较新的版本,您可以简单地使用“
killall -INT”向其发送SIGINT而不是SIGTERM,它们应该干净退出。



 类似资料:
  • 问题内容: 如何在Linux和Windows中正常停止Java进程? 什么时候被调用,什么时候不被调用? 终结器又如何呢? 我可以从外壳向Java进程发送某种信号吗? 我正在寻找最好的便携式解决方案。 问题答案: 在所有未强制终止VM的情况下,都会执行关机挂钩。因此,如果要发出“标准” kill(通过kill命令),则它们将执行。同样,它们将在调用后执行。 但是,如果将其强行杀死(),它们将不会执

  • 我通过创建固定数量的线程来使用执行器服务来进行HTTP GET数据检索。 当Tomcat停止时,我们会出现以下错误: 严重:web应用程序[/viewer]似乎已启动名为[ThreadExecutor_51616156]的线程,但未能停止该线程。这很可能会造成内存泄漏。 这是真的吗?在没有这些服务错误的情况下,如何正确停止tomcat。

  • 问题内容: 在下面的代码中,我有一个while(true)循环。考虑到try块中有一些代码,该线程应该执行大约需要一分钟的某些任务的情况,但是由于某些预期的问题,该线程将永远运行。我们可以停止该线程吗? 问题答案: 首先,您不在这里启动任何线程!您应该创建一个新线程并将混乱的名称传递 给它: 现在,当您真正拥有线程时,有一个内置功能可以中断正在运行的线程,称为… : 但是,仅设置此标志无效,您必须

  • 问题内容: 该程序在九次打印后完成: 如何停止进程(例如eclipse中的Java进程),因为它在9秒的时间限制后没有停止? 问题答案: 您遇到的问题是,取消哔声任务后,调度程序会保留活动线程。 如果存在活动的非守护程序线程,则JVM保持活动状态。 它使该线程保持不变的原因是您已在此行中告诉它这样做: 请注意以下文档: -即使在空闲状态下要保留在池中的线​​程数。 因此,您有两种可能的方法来导致J

  • 问题内容: 我有一个goroutine,它调用一个方法,并在通道上传递返回的值: 如何停止这种goroutine? 问题答案: 编辑: 在意识到您的问题是关于将值发送到goroutine中的chan之前,我匆忙编写了此答案。 下面的方法可以与上面建议的其他chan一起使用,或者利用您已经拥有的chan双向的事实,您可以只使用一个… 如果您的goroutine仅用于处理来自chan的项目,则可以使用

  • 问题内容: 要找出mysqld的启动命令(使用Mac),我可以这样做: 我得到以下输出,这使我可以启动mysql服务器。 我如何找到必要的命令以从命令行停止mysql? 问题答案: 尝试: 要么: 要么: 要么: 如果 在OSX中 安装 Launchctl,则 可以尝试: MacPorts 注意:重新启动后,此设置将持续存在。 家酿 二进制安装程序 我发现在:https : //stackover