whileループでコードを実行して、プログラムが常に実行されていることを確認しています。プログラムは、プログラムがバックアップからコピーし、それがないし、それを開始した場合、それは、それを起動する実行されていない場合は、空想何も:whileループでのメモリリーク
while (true)
{
Process backup = new Process();
ProcessStartInfo check = new ProcessStartInfo(file);
if (Process.GetProcessesByName(file).Length == 0)
{
if(File.Exists(file))
{
backup.StartInfo = check;
backup.Start();
}
else if (!File.Exists(file))
{
File.Copy(backupFile, file);
Thread.Sleep(250);
backup.StartInfo = check;
backup.Start();
}
}
backup.Close();
Thread.Sleep(2000);
}
問題は各サイクルの後ではありませんRAM使用量が上がります私が知っていることはあまりありませんが、これが1時間ほど実行されていれば、それは大きな問題を引き起こすでしょう。
私はそれを一時停止しようとしましたが、プロセス上で.Close()
を使用しましたが、喜んではありませんでした。どんなアイデアも高く評価されています。
あなたはメモリリークがあると思いますか?データが収集できない(実際のメモリリークがある)かどうかをGCが収集するのを待っていますか? – ken2k
5行目に実際に文字列リテラルを使用していますか、それともタイプミスですか? – Nuffin
申し訳ありませんが、入力ミス。 –