如何有效地杀死Python中冻结的子进程?

自由

我正在处理一个比较奇怪的问题。

我已经为ffmpeg的旧版本编写了Python包装器(在Python 2.6.6中)。问题是,给定一个非常特殊的视频,它将ffmpeg停止正常工作(笨拙的输出,完整的cpu使用率,没有结束阶段等),并且将python解释器与之一同关闭。

现在,如果我ffmpeg直接从终端运行编码选项,并将有问题的视频作为输入,ffmpeg则不会立即响应Ctrl-c我必须等待10秒钟或更长时间才能退出,并给我提示。但是,如果我改用“健康”视频,它将简单地打印Received signal 2: terminating.并正常退出。

在python包装器中,我p.kill()没有任何作用。行为完全相同,也就是我必须等待10秒钟才能退出程序。ffmpeg当视频出现问题时,如何立即停止播放?

请注意,如果我进行了两次操作,无论如何Ctrl-c我都会立即得到提示。

多媒体麦克

您如何执行FFmpeg子进程?有很多方法可以启动和监视Python中的进程。

我曾经处理这个确切的问题,因为我曾经为FFmpeg项目运行连续的自动化测试。当我需要调试它时,我将打印出程序认为与正在运行的FFmpeg进程相对应的PID 然后,我将使用topps验证PID是否正确。Linux和Mac OS X之间存在一些奇怪的问题,这些问题涉及传递给Python函数的外壳参数以及PID是否与FFmpeg进程或启动FFmpeg进程的外壳相关。

另请参阅:我写的这篇老博客文章探讨了这个问题以及众多的答复

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Python有效地选择子矩阵?

来自分类Dev

如何使用子流程有效地测试基于readline的Python程序?

来自分类Dev

如何使用子流程有效地测试基于readline的Python程序?

来自分类Dev

如何有效地提取numpy中的子数组?

来自分类Dev

在Jupyter笔记本中,如何安排子例程以有效地编写项目?

来自分类Dev

Python - 如何有效地遍历字典的子集?

来自分类Dev

如何有效地聚合 tex 数据 - python

来自分类Dev

如何有效地搜索列表中的项目?

来自分类Dev

如何有效地引用Excel中的整行?

来自分类Dev

如何有效地在Spritekit中暂停游戏?

来自分类Dev

如何有效地搜索列表中的项目?

来自分类Dev

如何更有效地对python中的csv文件中的列求和

来自分类Dev

如何有效地语法

来自分类Dev

如何在列表中的python列表中有效地共现

来自分类Dev

如何有效地在python中通过大型列表创建迭代?

来自分类Dev

如何有效地将同一模块导入python中的多个子包

来自分类Dev

如何最有效地在python中解析这些参数?

来自分类Dev

如何有效地在python中创建索引列表?

来自分类Dev

如何使用python中的列表有效地排序列表列表

来自分类Dev

python如何有效地循环通过列表中的几个元素

来自分类Dev

如何在python中更有效地搜索大型列表?

来自分类Dev

如何有效地比较Python中的两个列表?

来自分类Dev

Python。如何有效地从数组中删除自定义对象

来自分类Dev

如何有效地创建数组 Python 中条目数的频率表

来自分类Dev

如何使用ProcessPool有效地在进程之间共享字典和列表

来自分类Dev

如何有效地删除python中dataframe或csv文件中的所有重复项?

来自分类Dev

如何有效地分析python中2个大列表的所有可能组合?

来自分类Dev

如何有效地让“ ParentFont = False”子控件使用与父控件相同的字体名称?

来自分类Dev

如何向后读取文件以有效地找到子字符串

Related 相关文章

  1. 1

    如何使用Python有效地选择子矩阵?

  2. 2

    如何使用子流程有效地测试基于readline的Python程序?

  3. 3

    如何使用子流程有效地测试基于readline的Python程序?

  4. 4

    如何有效地提取numpy中的子数组?

  5. 5

    在Jupyter笔记本中,如何安排子例程以有效地编写项目?

  6. 6

    Python - 如何有效地遍历字典的子集?

  7. 7

    如何有效地聚合 tex 数据 - python

  8. 8

    如何有效地搜索列表中的项目?

  9. 9

    如何有效地引用Excel中的整行?

  10. 10

    如何有效地在Spritekit中暂停游戏?

  11. 11

    如何有效地搜索列表中的项目?

  12. 12

    如何更有效地对python中的csv文件中的列求和

  13. 13

    如何有效地语法

  14. 14

    如何在列表中的python列表中有效地共现

  15. 15

    如何有效地在python中通过大型列表创建迭代?

  16. 16

    如何有效地将同一模块导入python中的多个子包

  17. 17

    如何最有效地在python中解析这些参数?

  18. 18

    如何有效地在python中创建索引列表?

  19. 19

    如何使用python中的列表有效地排序列表列表

  20. 20

    python如何有效地循环通过列表中的几个元素

  21. 21

    如何在python中更有效地搜索大型列表?

  22. 22

    如何有效地比较Python中的两个列表?

  23. 23

    Python。如何有效地从数组中删除自定义对象

  24. 24

    如何有效地创建数组 Python 中条目数的频率表

  25. 25

    如何使用ProcessPool有效地在进程之间共享字典和列表

  26. 26

    如何有效地删除python中dataframe或csv文件中的所有重复项?

  27. 27

    如何有效地分析python中2个大列表的所有可能组合?

  28. 28

    如何有效地让“ ParentFont = False”子控件使用与父控件相同的字体名称?

  29. 29

    如何向后读取文件以有效地找到子字符串

热门标签

归档