問題タブ [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 ファイルは 1 つだけです。

そのために、参照されているアセンブリ (およびいくつかのアンマネージ .DLL) を .exe に埋め込んでいます。.exe が実行されると、これらのファイルは一時フォルダーに抽出され、イベントに読み込まれますAppDomain.AssemblyResolve

しかし問題は、プログラムが完了したときにこれらのファイルを削除できないことです。それらは、プロセスが終了するまでロードされ、ロックされます。無数の一時 DLL ファイルでコンピューターを散らかしたくありません。これを解決するにはどうすればよいですか?

0 投票する
0 に答える
92 参照

c# - ストレージ ファイルのクリーンアップ

MSMQ に基づく C# アプリケーションを使用して、ローカル PC に永続的なキューを作成しています。MSMQ をローカルで使用しており、ネットワークを越えてメッセージを送信していません。

私の問題は、巨大なハード ドライブを持っていないことです。特定の状況では、MSMQ ストレージ ファイルが多すぎて、使用可能なディスク領域がすべて埋まってしまいます。

また、キューをパージしても、ファイルはまだそこにあります。

Web で調べたところ、MSMQApplication.Tidy を使用してこのソリューションを見つけました。ここにリンク --> MSDN ブログへのリンク

ただし、C# アプリケーション内では使用できません。関連する COM オブジェクトが見つかりません。

他の可能な方法は、レジストリ キー MessageCleanupInterval を変更することですが、これは私のニーズを満たすものではありません。必要なときにキューをクリーンアップする必要があります。

0 投票する
3 に答える
234 参照

multithreading - Qt5: 1 日 1 回午前 3 時に実行される (クリーンアップ) タスクを作成する方法は?

Windows7でQt5を使用しています。
QThread を使用してタスクを作成する方法は知っていますが、問題は次のとおり
です。毎日 03:00AM にタスクを実行するにはどうすればよいですか?
QTimer を考えていたのですが、どうもうまくいかないようです...どうにか午前 3:00 にリンクできません。

明確にするために、一部の Windows アプリケーションを使用できません。履歴リストのクリーンアップ、1000 行 (または何でも) へのトリミングなど、いくつかのクリーニング ジョブも実行するため、Qt アプリ内でコード化する必要があります。 ..

0 投票する
1 に答える
59 参照

c# - クリーンアップ コードで null を変数にキャストするのはなぜですか?

特定のライブラリのコードを C# で (Resharper による逆コンパイルを使用して) 表示すると、次のようなクリーンアップ コードに出くわすことがあります。

nullここでクリアされているフィールドのタイプにキャストする利点は何ですか?

0 投票する
1 に答える
123 参照

tfs - TFS - 古いビルド定義を特定する方法

私たちは、会社横断的な支援プロジェクトです。

約 100 個のプロジェクト、プロジェクトごとに 3 つのビルド定義、約 5 ~ 7 個のブランチとそのビルド定義を用意する予定です。

ブランチの開発が完了すると、そのブランチのビルド定義は役に立たなくなります。

ディスクの使用を最適化するために、古いビルド定義をチェックしてからクリーンアップ コマンドを実行する毎週のジョブを実装したいと考えています。

同じことを実装する方法はありますか? またはマイクロソフトから入手できるツールはありますか?

0 投票する
3 に答える
263 参照

shell - shell: 共有 stdout/stderr が原因でハングするリークしたバックグラウンド プロセスをクリーンアップします

テスト実行エンジン用の一時的なコンテナー/VM の (リモート) シェルで、本質的に任意のコマンドを実行する必要があります。場合によっては、これらがバックグラウンド プロセスをリークし、コマンド全体がハングすることがあります。これは、次の単純なコマンドに要約できます。

ここで、backgroundedsleep 30はリークされたプロセスの役割を果たし (実際には のようなものになりますdbus-daemon)、echo は実際に実行したいものです。ここsleep 30 & echo payloadでは、アトミックな不透明なコマンドの例と見なす必要があります。

上記のコマンドは問題なく、シェルとスリープの stdout/stderr が PTY であるため、すぐに戻ります。ただし、コマンドの出力をパイプ/ファイルにキャプチャすると (テスト ランナーは、結局のところ、すべてをログに保存する必要があります)、コマンド全体がハングします。

現在、これは、stdout/err の FD を から決定し、同じ stdout/stderr を持つすべてのプロセスを/proc/$$/fd/{1,2}反復して強制終了する、かなりばかげて複雑なシェル マジックで修正できます。ls /proc/[0-9]*/fd/*しかし、これには多くの壊れやすいシェル コードと高価なシェル文字列の比較が含まれます。

これらのリークされたバックグラウンド プロセスをよりエレガントでシンプルな方法でクリーンアップする方法はありますか? setsid助けにならない:

リークされたプロセス (dbus-daemon など) はしばしば自身を設定するため、プロセス グループ/セッションを強制終了するだけでは不十分であることに注意してください。

PS私は、これらの環境ではPOSIXシェルまたはbashしか想定できません。Python、Perl などはありません。

前もって感謝します!

0 投票する
2 に答える
18126 参照

go - 複数の延期 vs 延期された無名関数

defer順序に依存する複数のステートメントを発行すること、またはロジックをパッケージ化する無名関数を延期することは、より安全で慣用的ですか?

例:

上記の場合、構文は最小限ですが、遅延の順序は実行されるロジックとは逆です。

以下のケースでは、より多くの行、より多くの「構文」がありますが、ロジックはより自然な順序になっています。

どちらを使用しますか?