问题标签 [unlink]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 程序终止时保证文件删除 (C/C++)
Win32CreateFile
有FILE_FLAG_DELETE_ON_CLOSE
,但我在 Linux 上。
我想打开一个临时文件,该文件将在程序终止时被删除。我可以理解,在程序崩溃的情况下,保证这一点可能不切实际,但在任何其他情况下,我希望它能够工作。
我知道RAII。我知道信号。我知道atexit(3)
。我知道我可以打开文件并立即删除它,并且文件将保持可访问状态,直到文件描述符关闭(甚至可以处理崩溃)。这些似乎都不是一个完整而直接的解决方案:
- RAII:去过那里,做到了:我有一个对象,其析构函数会删除文件,但如果程序被信号终止,则不会调用析构函数。
- 信号:我正在编写一个低级库,它使注册信号处理程序成为一个棘手的命题。例如,如果应用程序本身使用信号怎么办?我不想踩到任何脚趾头。我可能会考虑一些巧妙的使用
sigaction(2)
来应对……但还没有对这种可能性进行足够的思考。 atexit(3)
: 显然没用,因为在异常终止期间(例如通过信号)不会调用它。- preemptive
unlink(2)
:这很好,除了我需要文件在文件系统中保持可见(否则系统更难监控/故障排除)。
你会在这里做什么?
进一步说明
我在原来的帖子中省略了一个细节,现在我意识到我应该包括在内。在这种情况下,“文件”并不是严格意义上的普通文件,而是一个 POSIX 消息队列。我通过创建它mq_open()
。它可以通过mq_close()
or关闭close()
(前者是我系统上后者的别名)。可以通过 将其从系统中删除mq_unlink()
。所有这些都使它类似于普通文件,除了我无法选择文件所在的目录。这使得当前最流行的答案(将文件放在 中/tmp
)不可行,因为“文件”是由系统在容量非常有限的虚拟文件系统中创建的。(我已经/dev/mqueue
按照 中的示例安装了虚拟文件系统man mq_overview
)。
这也解释了为什么我需要名称保持可见(使立即取消链接方法不可行):“文件”必须在两个或多个进程之间共享。
php - 通过元素指针(别名)删除数组元素
是否可以通过指针删除数组元素?
多维数组:
参考数组:
引用数组仅包含指向多维数组元素的指针(别名)。现在我想从 $list 数组中删除(取消链接)元素。
通过使用,
但 PHP 只删除指针。
php - 为什么我的 php 代码不能“取消链接”文本文件?
我有两个文本文件和一个用于删除它们的 PHP 脚本。我的问题是:为什么这两个文本文件不会删除?它们都设置为 777,也许我应该更改权限设置?我认为这是我的虚拟主机不允许执行该功能...
这是我的代码:http: //informationalinformation.info/fg/cron.php
php - 为什么我不能从 PHP 守护进程的子进程中删除文件?
我正在构建一个简单的 PHP 守护程序脚本,使用以下提供的 php 守护程序类:
http ://www.phpclasses.org/browse/file/8958.html
无论好坏,我都被这门课困住了,我没有太多时间来完成这件事;因此,为了向守护程序发出自定义命令,我只使用位于 /tmp 目录中的命令文件。但是,在守护程序处理完其中包含的任何命令后,我需要删除此文件。
但是,当我尝试在 PHP 中“取消链接”文件时,取消链接操作会失败,并且文件仍然存在。我知道这不是权限问题。事实上,我很确定这与守护进程的每个“迭代”都是作为子进程产生的事实有关,并且该子进程必须以某种方式无权删除文件。
我的问题:为什么 PHP 不能删除这个文件,我能做些什么呢?
php - 与源文件夹相比,从目标文件夹中删除不需要的文件和文件夹
我正在使用 PHP,我需要编写如下脚本:
我必须比较两个文件夹结构并参考源文件夹我想删除其他目标文件夹中存在的所有文件/文件夹,这些文件/文件夹在参考源文件夹中不存在,我该怎么做?
编辑:
上面的代码显示了我做了什么。这里我的 copy1 文件夹包含比 copy2 文件夹更多的文件,因此我需要删除这些额外的文件。
编辑: 下面给出的输出是原始镜像的数组和两者的差异..
当我迭代循环以删除差异数组时,必须根据显示的输出删除所有文件..我该如何纠正这个..删除循环如下所示。
php - PHP取消链接或自行重写自己/当前文件
任务:在第一次演练后剪切或删除文件。
我有一个名为“index.php”的安装文件,它创建了另一个 php 文件。
在创建新文件后,这个文件被调用,我打算删除文件创建调用,因为它很长并且只在第一次安装时需要。
我因此添加到上面的代码
第一次调用后是否有更简单的方法或功能来修改当前文件甚至“自毁”文件?
问候
编辑:找到了编辑的方法,很抱歉 zaf
可用于在执行后删除“帮助文件”。
php - 无法 chmod 文件:“不允许操作”
我想通过 php 从目录中删除文件。不知何故,我的 php_errorlog 总是告诉我:
[06-Jun-2010 19:38:46] PHP 警告:chmod() [function.chmod]:/Users/myname/htdocs/ 中不允许操作
我究竟做错了什么?谢谢
macos - 如何在保留 inode 的同时更改符号链接目标
通常要更改符号链接目标,首先将取消链接文件,然后使用新目标路径重新创建符号链接。但是,它将被分配一个新的 inode 编号。
也许有一个带有update_target_for_symlink()
函数的私有Mac api,所以inode可以保持不变?
如果您想知道我需要它来做什么......文件管理器。我怀疑这根本不可能。无论如何,这就是让它变得有趣的原因。
php - PHP中如何避免UNLINK安全风险?
我将 UNLINK 与PHP
和一起使用AJAX
。我知道这种方式很危险,因为每个人都可以删除任何文件。但是我需要使用AJAX
,因为删除文件时无法重新加载页面。
那么我应该怎么做才能允许只为拥有它的用户删除文件呢?
如果您认为我在这里做错了什么或您想到的其他事情并且您认为这将是有用的,请也让我知道其他事情:)
我的PHP代码:
我的 AJAX 代码:
php - 删除文件然后目录
到目前为止我有这个:
它会删除每个文件,这很棒。但是,它不会删除目录。这有什么问题?