问题标签 [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.

0 投票
0 回答
25 浏览

.net - 应用程序关闭后如何标记要删除的文件夹?

我正在尝试制作一个“完整包”的 .NET 应用程序。也就是说,只有一个 .exe 文件。

为此,我将引用的程序集(以及一些非托管的 .DLL)嵌入到我的 .exe 中。运行 .exe 时,这些文件将被提取到一个临时文件夹中,然后加载到AppDomain.AssemblyResolve事件中。

但问题是程序完成后我无法删除这些文件。它们被加载并锁定,直到进程终止。我不想用无数的临时 DLL 文件乱扔计算机。我该如何解决这个问题?

0 投票
0 回答
178 浏览

android - Android 自定义偏好:将代码放在哪里进行清理?

我正在创建一个自定义android.preference.Preference,并且在构造函数中我需要注册一个监听器以进行更改SharedPreferences

根据docs ,在方法中registerOnSharedPreferenceChangeListener() 使用对 the 的调用来补充对 the 的调用是一个好主意:unregisterOnSharedPreferenceChangeListener()onPause()

为了在活动中进行正确的生命周期管理,我们建议您分别在 onResume() 和 onPause() 回调期间注册和取消注册 SharedPreferences.OnSharedPreferenceChangeListener:

由于Preference不提供onPause()覆盖方法,我想知道在自定义实现的情况下我应该调用的最佳替代方法是什么?unregisterOnSharedPreferenceChangeListener()Preference

例如,有方法onPrepareForRemoval()onSaveInstanceState()方法,但我不确定其中之一是否适合将清理代码放入其中。

有什么想法吗?

0 投票
0 回答
92 浏览

c# - 清理存储文件

我有一个基于 MSMQ 的 C# 应用程序,在本地 pc 上有一个持久队列。我在本地使用 MSMQ,而不是跨网络发送消息。

我的问题是我没有巨大的硬盘驱动器,并且在某些情况下 MSMQ 存储文件太多,它们会填满所有可用的磁盘空间。

此外,如果我清除队列,文件仍然存在。

我在网上查了一下,使用 MSMQApplication.Tidy 找到了这个解决方案。这里是链接 -->链接到 MSDN 博客

但是我无法在我的 c# 应用程序中使用它,我没有找到相关的 COM 对象。

其他可能的方法是更改​​注册表项 MessageCleanupInterval,但这不能满足我的需要。我需要在需要时清理队列。

0 投票
0 回答
726 浏览

java - 如果构建被中断,詹金斯关闭钩子

我有一份 Jenkins 工作,集成测试需要某些资源。我有一个关闭钩子,可确保所有连接都已关闭并停止工作线程,以防在执行过程中丢失其中一些或(如我所愿)构建被中断。但是,关闭钩子不是如果作业被 UI 或其他东西打断,则执行。有没有办法让它执行,或者当作业在完成之前被中断时创建一个事件?提前致谢

0 投票
3 回答
234 浏览

multithreading - Qt5:如何创建一个每天凌晨 3:00 运行一次的(清理)任务?

我在 Windows7 下使用 Qt5。
我知道如何使用 QThread 创建任务,但我的问题是:
如何每天凌晨 03:00 运行它?
我在考虑 QTimer,但它似乎并不好......它无法以某种方式链接到 03:00am。

只是说清楚:我不能使用某些 Windows 应用程序。它必须在我的 Qt 应用程序中进行编码,因为它也执行一些清理工作:清理历史记录列表,将其修剪到 1000 行(或其他)等。所以,你看我不能使用 TaskScheduler 或类似的 Windows 工具来做到这一点。 ..

0 投票
1 回答
1911 浏览

ubuntu - ceph 清理 pgs 活动+重新映射

我使用基于 Ubuntu Server 14.04 的 3 节点 Ceph 集群。实际上我的问题是 192 个归置组 (pgs) 处于活动+重新映射状态。所有节点都在线,所有osd都在线。

我怎样才能清理pgs?

有人有想法吗?

最好的问候 schlussbilanz

0 投票
1 回答
59 浏览

c# - 为什么将 null 转换为清理代码中的变量?

在 C# 中查看某些库中的代码时(使用 Resharper 进行反编译),我有时会遇到如下所示的清理代码:

null强制转换为此处正在清除的字段类型有什么好处?

0 投票
1 回答
123 浏览

tfs - TFS - 如何识别过时的构建定义

我们是整个公司的支持项目。

我们将有大约 100 个项目,每个项目 3 个构建定义,大约 5-7 个分支及其构建定义。

现在随着分支的开发完成,该分支的构建定义没有用了。

为了优化磁盘使用,我们希望实施每周检查过时的构建定义然后运行清理命令的作业。

有什么方法可以实现相同的吗?或 Microsoft 提供的任何工具?

0 投票
3 回答
263 浏览

shell - shell:清理由于共享 stdout/stderr 而挂起的泄露的后台进程

我需要在临时容器/VM 中的(远程)shell 上为测试执行引擎运行基本上任意命令。有时这些泄漏后台进程会导致整个命令挂起。这可以归结为这个简单的命令:

在这里,backgroundedsleep 30扮演了泄露进程的角色(实际上将类似于dbus-daemon),而 echo 是我想要运行的实际内容。此处应将其sleep 30 & echo payload视为原子不透明示例命令。

上面的命令很好,并立即返回,因为 shell 和 sleep 的 stdout/stderr 都是 PTY。但是,当将命令的输出捕获到管道/文件时(毕竟,测试运行程序希望将所有内容保存到日志中),整个命令会挂起:

现在,这可以通过一些相当可笑的复杂 shell 魔法来解决,它确定 stdout/err 的 FD /proc/$$/fd/{1,2},迭代ls /proc/[0-9]*/fd/*并杀死每个也具有相同 stdout/stderr 的进程。但这涉及到大量脆弱的 shell 代码和昂贵的 shell 字符串比较。

有没有办法以更优雅、更简单的方式清理这些泄露的后台进程?setsid没有帮助:

请注意,进程组/会话并彻底杀死它们是不够的,因为泄漏的进程(如 dbus-daemon)通常会自行设置。

PS 我只能在这些环境中假设 POSIX shell 或 bash;没有 Python、Perl 等。

先感谢您!

0 投票
2 回答
18126 浏览

go - 多个延迟与延迟匿名函数

发出多个defer依赖于顺序的语句,或者推迟一个封装逻辑的匿名函数,是更安全还是更惯用?

例子:

在上面的例子中,语法是最小的,但延迟的顺序与要执行的逻辑相反。

在下面的例子中,行数更多,“语法”更多,但逻辑顺序更自然:

使用哪一个?