Esempio n. 1
0
        private void KillProcesses()
        {
            var processes = watcher.GetProcesses(options.ProcessName);

            try
            {
                foreach (var process in processes)
                {
                    var lifeTime = (DateTime.Now - process.StartTime).TotalMinutes;
                    if (lifeTime > options.MaxLifeTime)
                    {
                        process.EnableRaisingEvents = true;
                        process.Exited += Process_Exited;
                        log.Warn($"Try to kill process {process.ProcessName} ID: {process.Id}");
                        process.Kill(true);
                    }
                }
            }
            catch (Exception e)
            {
                log.Error(e.Message);
                log.Error(e.StackTrace);
                throw;
            }
        }