gpt4 book ai didi

linux - 在某些系统调用中同步两个进程

转载 作者:太空宇宙 更新时间:2023-11-04 11:25:00 25 4
gpt4 key购买 nike

是否可以在不修改代码的情况下在某些系统调用中同步两个 linux 进程?

一个真实世界的例子:v4l2-ctl 是一个可以用来设置网络摄像头某些控件的工具。运行它设置一些控件后,ffmpeg 用于用相机拍摄电影。但是,仅自行设置一些控件并重置其他一些控件,ffmpeg 破坏了 v4l2-ctl 所做的仔细调整。

现在无需修改和重建其中一个或两个工具即可解决此问题。如果 ffmpeg 可以启动,这将是可能的,但在打开和配置 /dev/video0 后会暂停(很可能发生了一些 ioctls ) 和 v4l2-ctl 将被调用然后应用设置。之后,ffmpeg 将恢复并开始使用正确的设置进行捕获。

是否可以通过简单的方式跟踪一个进程的 io 操作并在某些进程上暂停它?

最佳答案

如果您喜欢冒险并且不介意使用调试编译的 ffmpeg 的性能影响,您可以想象在 gdb 下启动它并设置断点打开 /dev/video0(或其他任何地方。无论哪种方式,您都需要源代码。)

然后您可以运行二进制文件,直到遇到断点,调整 v4l2-ctl,然后告诉 ffmpeg 继续越过断点。

关于linux - 在某些系统调用中同步两个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15316924/

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