问题标签 [resource-cleanup]
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.
python - 如果 with-block 失败,如何删除在 with 语句中创建的文件(python)
我有一些这样的代码:
运行此程序后,即使某处出现错误,文件也已创建并处于不完整状态。
我想要它,如果在 with 块中引发(且未处理)异常,则删除该文件。最好的方法是什么?
我的理解是,如果我尝试用 (try ...)finally
语句来做,即使没有异常也会发生,而如果我把它放在except
语句之后,异常不会继续冒泡,这是我想要它做什么。(我不想处理异常,只需在代码停止运行之前删除文件即可。)
build - 清理任务不清理指定的输出文件
我编写了一个 build.gradle 脚本来自动从给定的 URL 下载 hazelcast。之后,文件被解压缩,只有 mancenter.war 以及原始 zip 文件保留在目标目录中。后来这个战争文件被引用用于码头运行。
尽管如此,虽然我为我的两个任务定义了 output.file,但是当我执行 gradle clean 时这些文件并没有被清理。因此,我想知道当我执行 gradle clean 时我必须做什么才能删除下载和解压缩的文件。这是我的脚本:
顺便说一句,如果您对如何增强脚本有任何建议,请不要犹豫告诉我!
更新
我找到了这个链接,它描述了如何在调用清理任务时提供要删除的其他位置。基本上你可以做某事。像这样:
c++ - 退出时清理与否
我知道清理是一件好事。我也了解操作系统内部,所以如果我知道我的进程正在终止,那么它的内存将被释放。但我喜欢提出不同的观点。我在线上,在退出时释放内存是相当糟糕的主意。
例如,我可能分配了当前已换出的大内存,如果我在退出时将其释放,则需要将其带到 RAM 中,然后释放它。如果我不这样做,退出时它只会在一张表中被标记为空闲。
总体而言,操作系统发生了很大变化(基本保持不变),我理解这个问题可以被认为是 A_VERY_PLATFORM_DEPENDENT,但从今天的应用程序开发人员的角度来看,他要么被困(?)在某些框架中,要么是胆大妄为的 coder,谁正在研究作为 COM 的原始技术,非常依赖,我会调用 VERY_CONTROLLED_ENVIRONMENT。
对于TL;DR
:在现代操作系统上,我认为我不应该在退出时执行清理。如果你认为我错了,为什么?
PS:我不是在谈论 RTOS,我的意思是受控环境是指 Windows、Linux,我从来没有指设备驱动程序开发或操作系统开发。
python - 设计python api。可靠的清理与易于在解释器中使用
我正在设计基于 python 的 API。目前,我遇到了两个不同要求的问题。一方面,我想提供一种可靠的方式来清理 API 相关的资源。因此,据我所知,最好的方法是使用上下文管理器,例如:
另一方面,我想提供一种在交互式解释器中无缝使用我的库的方法。with
但是在解释器中使用类似or的复合结构try-except-finally
使得解释器的使用不那么时髦,因为with
-block 被视为单个语句。并且最好对每个单个 api 方法使用单个语句,例如:
那么,我可以在这里有任何选择吗?绝对有一种方法可以为脚本和解释器提供不同的使用语义,但我想把它作为最后的手段。
javascript - Kineticjs 会导致内存泄漏。销毁后不释放阶段
我们的单页应用程序为新的 url 路由生成了一个新阶段。
我们有巨大的内存泄漏。
我们注意到,即使在调用 stage.destroy() 之后,作为全局变量的 Kinetic.shapes 和 Kinetic.names 也不会被清除。
下面的调用不能解决问题:
有任何想法吗?谢谢
python - Ensuring instantiated objects do a controlled end if calling script dies
I have a script that instantiates a number of objects from other classes. When the calling script ends, these objects need to do some cleanup work, especially the closing and deleting of some tempfiles.
I've experimented with a number of ways to trigger the cleanup, and a number of them work when the calling script ends nicely...but none of them work in the event the calling script crashes or ends unexpectedly (like due to an uncaught error).
Is it possible to get the "child objects" (if that's the right term) to run their cleanup in the case of a crash or unexpected error?
Here's some test scripts...
THE OBJECT CLASS WHICH GETS CALLED...
(The different signals that the "sigs()" function is [hopefully] setting is at the end of this post)
test2.py
test3.py
If I run test2.py and let it finish normally I get the following...
If I run test2.py and use "kill -9" to end it (crash) I get...
If I run test3.py and let it finish, I get...
If I run test3.py and use "kill -9" on it, I get the following...
(in other words...nothing)
EDIT: I did find that uncaught exceptions in the calling script do allow the del() in the child objects to run. Still wondering if there's a way to cleanly close out the child objects on other failures.
SIGNALS THAT (I hope) ARE GETTING SET BY sigs()...
python - __del__ 不可靠,但如果我尝试使用上下文管理器,该对象不会持续存在
我有一个实例化许多子对象的脚本。当脚本(和这些对象)结束时......对象需要进行一些清理(尤其是临时文件关闭和删除)。
我一直在阅读如何__del__
不可靠 - 但是上下文管理似乎不起作用,子对象不会持续存在。他们需要闲逛(做文件读写之类的事情)
一个例子:
作家.PY
主文件
但是当我运行时myfunc()
,对象在完成__init__()
. 它直接从进入到退出,并且在 with 语句之后不执行任何职责。__init__
我是否将 open 放在或 中似乎并不重要__enter__
。
输出:
有没有办法以这种方式使用上下文管理器,一种更好的使用方式__del__
......或者是否有第三种选择来实现这一点?
jsf - 如何处理和删除“被遗忘”的上传文件?
我有一个表格可以上传不同类型的文件。我需要根据上传的文件类型提问。例如,如果文件是 pdf,我需要询问作者。如果文件是mp3,我需要询问歌曲的标题。
所以 :
- 用户上传保存在服务器某处的文件;
- 用户回答与文件类型相关的问题;
- 用户单击“保存”按钮(已验证答案)以确认所有内容。
到目前为止一切都很好。现在如果用户从不回答问题或从不点击保存按钮怎么办?显然我需要删除这个“被遗忘”的文件。
我的一个想法是将“未经确认的”文件存储在一种定期清理的远程缓冲区中。问题是适当地管理这个缓冲区并决定何时清理它。
是否有任何最佳实践/现有解决方案?最好的方法是什么?
logging - 关于 db2 日志文件归档和清理
我想开始为正在运行我的 db2 服务器的机器计划一些磁盘清理,但是在删除日志文件时,db2 可能会受到怎样的影响还不是 100% 清楚。
我感兴趣的数据库的配置参数说
在哪里/url_folder_arch
吃掉所有的硬盘空间。
据我了解(如果我错了,请纠正我)db2 正在备份(最好说“归档”)日志文件,/url_folder_log/
同时/url_folder_arch
它正在运行和在后台运行。
我很想将大多数最旧的日志文件从/url_folder_arch
一些备份存储中移动:这样做安全吗?
这些“归档日志文件”何时真正被使用并且可能是必要的?
阅读似乎日志涉及2个进程
- 数据库备份
- 前滚恢复(我的数据库似乎没有启用)。
如果是这种情况,我真的需要保留所有这些存档日志文件吗?在某些时候,它可能还需要删除这些文件。
powershell - 无需用户干预即可自动执行磁盘清理 cleanmgr.exe 的过程
我正在开发一个 powershell 脚本文件,该文件将在没有用户干预的情况下执行一些磁盘清理。用户不能配置任何东西。
当我运行cleanmgr.exe /d c: sageset:1
一个弹出窗口时,会出现一个选择要清理的文件/文件夹(清理选项)。
这将创建一个包含带有清理选项的设置的注册表项,然后,您可以运行cleanmgr.exe /sagerun:1
它将实际执行清理。
有没有办法直接使用 powerhell/命令行指定清理选项(无需手动选择要删除的东西)?