在服务器上运行的python应用程序是否可以运行另一个python应用程序并拦截子应用程序进行的所有HDD读写。然后通过web套接字将它们发送到客户端应用程序,以便操作可以在客户端而不是服务器上执行?
如果没有操作系统特定的更改,就不可能拦截真正的硬盘访问。
更简单的方法是拦截文件访问。
如果您正在import
执行写操作的python模块,则可以通过简单的monkey补丁来完成这一操作——只需用您创建的自定义类的实例替换文件对象即可。如果真的想要,您甚至可以替换open
。
如果您正在启动一个单独的进程(例如使用subprocess
),并且希望继续这样做,我怀疑这对于纯python(不修改被调用的程序)来说是不可能的
一些可能的linux系统级解决方案:
- 使用CCD_ 4来拦截库调用
- 编写一个FUSE程序来拦截文件系统访问