This is my code. Running time increases memory usage until it stops due to this error:
Process is terminated due to StackOverFlowException
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace KillWW
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Starting... {0} ", DateTime.Now);
killWinword();
// Console.Read();
}
private static void killWinword()
{
var procs = Process.GetProcesses();
foreach (var proc in procs)
{
if (proc.ProcessName == "WINWORD")
{
TimeSpan runtime;
runtime = DateTime.Now - proc.StartTime;
if (DateTime.Now > proc.StartTime.AddSeconds(20))
{
proc.Kill();
}
}
}
Thread.Sleep(1000);
killWinword();
}
}
}
Can someone explain what the cause of it is? Please help me. Thanks.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…