分享

被线程占用的文件要如何读取?

 半佛肉夹馍 2023-10-20 发布于河南

现在有一个封装好的程序A,运行后会对一个csv文件实时写入数据。我现在希望用一个程序B来实时读取这个csv文件中的数据用来画图(程序A的数据只通过这个csv文件出来,没有其他接口)。如果用matlab,就会说这个csv文件目前被占用了,无法读取。请问有什么好的实现方法么?

Linux下一切皆文件,你甚至可以写一个用户态文件驱动:

然后像普通的文件系统一样,用mount挂载它;再让程序A把文件写到你搞的“假”文件系统里,接下来你是在其它位置生成副本还是直接通过socket把数据发出去,就由不得它了。

接下来你是在其它位置生成副本还是直接通过socket把数据发出去,就由不得它了。

都会先经过你;你爱把内容加密然后存储还是复制一份通过socket发出去,那就随你的意了。

假如你在驱动层把数据用socket发出去的话,程序B就可以接收这个信息,然后重建csv就完了。

很简单的东西。这些网上都有最简例程之类,你把其中的write/read/seek之类调用截获、然后复制一份传给程序B(或者干脆在磁盘上另外建立一份csv.copy)就行了。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多