gpt4 book ai didi

perl - 退出时删除文件

转载 作者:行者123 更新时间:2023-12-04 22:52:24 29 4
gpt4 key购买 nike

也许我错了,但我相信 UNIX 和 C 标准库提供了一些工具,可以让操作系统在进程退出后删除文件。但我不记得它叫什么(或者也许是我想象的)。在我的特定情况下,我想从 perl 访问此功能。

Java 有 deleteOnExit 函数,但我知道删除是由 JVM 而不是操作系统完成的,这意味着如果 JVM 不正常地退出(例如电源故障),那么文件将永远不会被删除.

但我了解我正在寻找的设施(如果它存在),因为它是由操作系统提供的,操作系统负责文件的删除,大概在电源故障等情况下在操作系统启动时做一些清理工作。 ,并且肯定会在进程不干净地退出的情况下进行清理。

最佳答案

一个非常非常简单的解决方案(仅适用于 *nix 系统)是:

  1. 创建并打开文件(保留文件句柄)
  2. 立即对文件调用unlink
  3. 使用文件句柄照常进行,并在需要时退出

然后当你的程序完成时,文件描述符被关闭,文件被真正删除。如果程序崩溃,这甚至会起作用。

当然这只适用于单个脚本的上下文(即其他脚本将无法直接操作文件,尽管您可以将文件描述符传递给它们)。

关于perl - 退出时删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6323061/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com