des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

Win services авто ребут?

подскажите как реализовать перезагрузку вин службы автоматически по времени?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
Neuroware
@Neuroware
Программист в свободное от работы время
через планировщик заданий, но это только для тех служб что закрываются без вопросов нормально, а не зависают или крашатся от попытак их остановить
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
des1roer
@des1roer Автор вопроса
ученье - свет, а неученье - приятный полумрак
если вариант с C# (про планировщик и не знал)
то так делал
private void atimer_Elapsed(object sender, EventArgs e)
        {
            try
            {
                //logger.Debug(DateTime.Now);
                Process proc = null;
                string targetDir = string.Format(AppDomain.CurrentDomain.BaseDirectory);//текущая папка AppDomain.CurrentDomain.BaseDirectory   
                logger.Debug(targetDir);
                proc = new Process();
                proc.StartInfo.WorkingDirectory = targetDir;
                proc.StartInfo.FileName = "restart.bat";
                proc.StartInfo.Arguments = string.Format("10");//this is argument
                proc.StartInfo.CreateNoWindow = false;
                proc.Start();
                proc.WaitForExit();
            }
            catch (Exception msg)
            {                
                logger.Trace(msg);
                return;
            }
        }

где restart.bat
net stop "SrvcMOF_Stav";
sc start "SrvcMOF_Stav"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы