当前位置:  技术问答>linux和unix

如何使得调用unlink函数出错,文件存在的情况下。

    来源: 互联网  发布时间:2016-01-10

    本文导语:  想法:     打开要删除的文件,然后在程序中调用unlink函数删除此文件,但失败,unlink函数返回成功。 请教:     如何使unlink函数失败,在文件存在,且不修改程序的情况下。 | 你是想要某个文...

想法:

    打开要删除的文件,然后在程序中调用unlink函数删除此文件,但失败,unlink函数返回成功。

请教:
    如何使unlink函数失败,在文件存在,且不修改程序的情况下。


|
你是想要某个文件在被打开的情况下不能被删除吧?

对于linux,似乎是没有办法,至少我不知道。被进程A打开的文件可以被其他进程删除,但是A仍可以访问文件,直至A关闭文件或者进程退出,此时文件的空间才会被真正删除。在A关闭文家之前,你可以查看proc里面的A打开的fd(/proc/xxx/fd,其中xxx是A的进程号),可以看到被删除的文件指向deleted,此时你如果直接将proc下的这个文件cp到其他地方,可以复制出文件,有点像回复删除。

另外,linux下的文件锁也无法保护你打开的文件。你只能通过文件权限来控制文件的安全性,可以设置文件的属主及权限,设置ACL。


|
用gdb跟,然后修改返回值

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何修改.cshrc脚本,使得Termial窗口颜色永久改变?
  • 求一小段代码: 编程使得本进程收到SIGIO信号(异步IO)
  • 怎么在启动终端的时时候,使得当前目录为设定的值,而不是默认值?
  • linux下通过工具putty连接服务器,用批处理启动jboss后,如何使得关闭窗口而服务不停?
  • 修改了一点代码,却使得.so增加了100M,可能是什么原因?
  • 怎样使得JTextFeild只能输入ip地址
  • 请问如何捣乱.class文件,使得反编译器对他失去作用?
  • 在 JBuilder 6 中,如何修改设置使得编译时支持 -deprecation 选项?
  • 如何使得用scp命令时不需要密码认证?
  • 怎样使得一开机就自动启动我的守护进程,在哪配置,谢谢
  • vi中如何使得 "敲入一个tab效果与4个空格一样"
  • linux下有没有使得socks5可以级连的代理工具
  • 如何使得ls /root/sbin等文件分页显示
  • LINUX安装完成后,如何使得在远程的EXCEED可以进入图形界面
  • linux怎么使得程序死了后自动重启...
  • 怎样修改使得系统启动不运行某些程序?
  • linux下c语言如何使得机箱喇叭响铃??
  • 如何设置iptables使得所有HTTP请求都指向登陆页面
  • 如何配置bash,使得输入vi时,运行的是vim?
  • linux如何设置使得启动时,不进入gui界面?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3