回答
临时文件的典型技巧是打开/创建文件,然后在不关闭文件描述符的情况下取消链接。
您最终得到一个文件描述符给一个不再存在的文件。您仍然可以读取并写入它,但只要您关闭文件描述符(或被终止),该文件将被移除并释放它占用的空间。
当然,如果您决定继续保留文件,那并不会真正起作用。
不能使用'link(“/ proc/self/fd/n”,“permanent-name”);'如果有人想保留这个文件? –
@ BenVoigt通常,该链接会(非法)跨越文件系统边界。这是一个特例吗? –
@Jonas:经过进一步的研究,显然不是。 'proc /./fd'是特殊情况,它们是在目标被删除时不会中断的符号链接。但'链接'不够聪明重新链接目标。也许还有一些其他功能是? –
- 1. 内核是否在进程死亡时删除打开的文件
- 2. WCF tcp连接在进程死亡时保持打开状态
- 3. perl:当主进程死亡时线程不会死亡
- 4. 进程死亡 - 删除输出文件?
- 5. Yaws进程死亡
- 6. Hadoop:Datanode进程死亡
- 7. C#进程死亡
- 8. 在python线程死亡时?
- 9. 获取node.js进程死亡?
- 10. 进程已经死亡
- 11. 进程死亡本身
- 12. Java进程如何死亡?
- 13. Apache/WSGI进程死亡
- 14. 当python进程死亡时运行atexit()
- 15. Nohup java进程超时或死亡
- 16. node.js进程何时意外死亡?
- 17. 创建进程死亡时,文件是否从tmpfs中消失?
- 18. 当进程意外死亡时,会否解锁群集文件?
- 19. mercurial在打开/保存文件时会减慢emacs的死亡率
- 20. Perl IPC ::在父母死亡时运行,杀死进程
- 21. 当应用程序死亡时杀死外部进程
- 22. Selenium Webdriver打开Firefox,然后死亡
- 23. 如何启动其他父进程时死亡的进程?
- 24. 父母死亡时设置子进程的监护人进程
- 25. 批处理文件进程在Java中死亡:xcopy不关闭
- 26. 确保子进程在Cocoa中死亡
- 27. Node.js进程在aws实例上死亡
- 28. Visual Studio在打开解决方案时死亡
- 29. 当zygote死亡时,android如何杀死app进程?
- 30. android远程进程(receiver)快速死亡
丢弃的意思是从文件系统中删除(删除)? – Harald
可能不可能在流程本身内。写入文件时是否有正确的名称是重要的。如果没有,你可以用一个临时名称来写。如果该过程继续存在直到close(),那么重命名该文件。如果进程被终止,你如何摆脱临时文件就是你想要做到这一点的紧急问题:定期清理cron,父进程注意到子进程已经死了,并在其后清理。 – Harald