Я выполняю некоторый код в цикле 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);
}
Проблема в том, что после каждого цикла использование оперативной памяти возрастает примерно на 100 КБ, что не так много, я знаю, но если оно будет работать в течение часа или около того, это вызовет большие проблемы.
Я пытался приостановить его и использовать .Close()
в процессе, но без радости. Любые идеи очень ценятся.