- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大多数 POSIX 命名对象(或全部?)都具有取消链接功能。例如:
shm_unlink
mq_unlink
它们都有一个共同点,即从系统中删除对象的名称,导致下一次打开失败或创建新对象。
为什么要这样设计?我知道,这与“一切都是文件”的政策有关,但为什么不在关闭时删除文件?如果您创建一个新界面,您会这样做吗?
我认为,这有一个很大的缺点。比如说,我们有一个服务器进程和几个客户端进程。如果任何进程(错误地)取消了对象的链接,则所有新客户端都将找不到服务器。 (这可以被相应文件的用户权限禁止,但仍然......)
如果它有引用计数并且在最后一个对象关闭时名称会自动删除,那不是更好吗?为什么要保持打开状态?
最佳答案
因为它们是可以在性能很重要时使用的低级工具。在下次使用时不再使用该对象以再次创建该对象时,删除该对象会对保持其事件状态产生(轻微)性能损失。
我曾经使用过一个命名信号量,我用来同步对不同生产者和消费者的假脱机的访问。我使用了一个 init 模块来创建作为引导过程的一部分被调用的命名信号量,并且所有其他进程都知道众所周知的信号量应该存在。
如果您想要一种更程序员友好的方式来按需创建对象并在不再使用时销毁它,您可以构建一个更高级别的库并将创建/取消链接操作封装在其中。但是如果系统调用包含它,就不可能构建一个避免它的用户级库。
关于operating-system - 为什么大多数 posix 命名对象都使用 unlink 设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62954046/
我的应用程序有一个 ' Photo ' 字段来存储 URL。它使用 sfWidgetFormInputFileEditable对于小部件架构。要在上传新图像时删除旧图像,我在覆盖的 setter 中设
在代码示例中,我有时会发现像这样的行: import android.app.Activity import android.os.Bundle 我在文档中找不到关于此的任何内容。为什么要用这个,有什
我正在使用一个名为 Jquery-Oembed-All 的插件来嵌入来自 soundcloud 的音频。我将轨道名称、年份和 URL 存储在数据库中,经过查询后,音频已嵌入我的网站。我的问题是显示的文
想删除一个产品,删除产品的图片,但又不想缺什么。产品删除正常但不删除图像 if((isset($_GET["remove"])) && ($_GET["remove"] != "")){ $i
PHP unlink() not working to delete files 我的代码在数据库中正确删除,但无法从文件中删除,请问如何帮助我删除上传文件中的数据? Query($strSQL);
我试图预测我可以使用 unlink() 删除哪些文件。 到目前为止,我的理解是该文件必须对其他人可写,或者与执行程序具有相同的组 ID 或所有者 ID。 还有其他情况吗?我正在尝试解释我的程序如何删除
我正在编写进程间通信的代码。 在接收进程代码中我调用了方法 unlink("datapipe"); 我还包含了#include 头文件。 最后我得到了以下错误: receiver.c:12: erro
for($i=0; $i (来源:http://au1.php.net/chdir) 关于php - unlink() 不起作用,我们在Stack Overflow上找到一个类似的问题: https:
我遇到一个问题,如果在清理期间由网络用户打开,用 Java 编写的存档模块无法清理通过 smb 共享的文件。以下是文件清理代码的简化版本: private static boolean mov
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我在通过 unlink() 函数删除文件时遇到问题。当文件使用西里尔文名称时,该功能不起作用。 [24-Jul-2012 00:33:35 UTC] PHP Warning: unlink(/home
好吧,我一直想知道我是否可以正确处理 unlink() 函数。我不希望 unlink() 函数在无法取消链接文件时抛出一些讨厌的错误(可能是由于找不到文件)。 我尝试了类似的东西 try {
最近在写个网站,需要上传图片,如果修改图片,就图片就没有用了,会占用服务器的硬盘资源,所以想到用unlink函数删除旧照片. 问题 : unlink函数只能删除 相对于函数执行文件的相对目录&nb
我正在尝试通过 AJAX 函数取消链接来删除图像,该函数在传递文件路径之前使用encodeURIComponent对文件路径进行编码。但是,我在取消链接时遇到错误,所以我做了一些尝试来查找错误。 当我
我想读取命令行参数中给出的文件并在读取后将其删除。这就是我正在做的事情。 char *filename = argv[1]; char *outputfile = strcat(argv[1], ".
我在使用 featherlight 时遇到了一些问题,由于某种原因它无法正常工作,我正在使用 Ghost 作为平台并且我使用 Ghost 的 Markdown 将几张图片添加到帖子中,为了使 feat
这个问题在这里已经有了答案: 关闭 13 年前。 Possible Duplicate: Deleting files by type in Python on Windows 如何删除目录中所有扩
来自 APUE #include int unlink(const char *pathname); Only when the link count reaches 0 can the conte
我试图在第一次显示后从服务器中删除图片 (.jpg)。但是文件在显示之前被删除(unlink();)。我已经尝试过使用 sleep() 但这只会延迟加载,并且在显示之前删除所有文件。 最佳答案 您可以
我是 Node.js 新手。 const fs = require('fs'); fs.unlink('/tmp/hello', (err) => { if (err) throw err;
我是一名优秀的程序员,十分优秀!