当前位置: 技术问答>linux和unix
视频文件删除后为什么还可以播放?
来源: 互联网 发布时间:2017-01-18
本文导语: 遇到了一个奇怪的问题,是这样的: 我用了一块ARM板,通过NFS挂载了PC机上的一个目录。然后PC机作为服务器,ARM板作为客户端。通过socket编程,采用TCP协议,下载PC服务器端的一个.rmvb的视频文件到那个NFS共享目录,...
遇到了一个奇怪的问题,是这样的:
我用了一块ARM板,通过NFS挂载了PC机上的一个目录。然后PC机作为服务器,ARM板作为客户端。通过socket编程,采用TCP协议,下载PC服务器端的一个.rmvb的视频文件到那个NFS共享目录,这时打开那个视频文件,可以用播放器播放。然后在播放的过程中在终端上删除这个文件rm a.rmvb,没有什么提示删除成功,ls查看一下,那个文件的确没有了。但是播放器仍然可以播放那个视频。这是什么原因啊?
我用了一块ARM板,通过NFS挂载了PC机上的一个目录。然后PC机作为服务器,ARM板作为客户端。通过socket编程,采用TCP协议,下载PC服务器端的一个.rmvb的视频文件到那个NFS共享目录,这时打开那个视频文件,可以用播放器播放。然后在播放的过程中在终端上删除这个文件rm a.rmvb,没有什么提示删除成功,ls查看一下,那个文件的确没有了。但是播放器仍然可以播放那个视频。这是什么原因啊?
|
既然是使用NFS方式,掛在到Linux下,那麼即使是在Linux的刪除,最終實際執行操作的也是存儲該文件的Windows系統(應該是Windows執行刪除操作的API被最終調用)。所以,刪除的方式還是Windows的方式。
Windows下刪除文件,如果沒有後來新增加的文件覆蓋掉,是可以使用一些數據恢復軟件重新找回的,比如FinalData。
播放器軟件播放的時候,文件指針(fp=fopen(...))已經讀到了數據的位置,所以仍然能夠正常播放。
Windows下刪除文件,如果沒有後來新增加的文件覆蓋掉,是可以使用一些數據恢復軟件重新找回的,比如FinalData。
播放器軟件播放的時候,文件指針(fp=fopen(...))已經讀到了數據的位置,所以仍然能夠正常播放。
|
播放器缓存?
|
重新mount目录,应该就找不到了。