BitrixAQA.General.Shared.RestartService C# (CSharp) Method

RestartService() public static method

Перезапуск виндовой службы
public static RestartService ( string serviceName, int timeoutMilliseconds = 30000 ) : void
serviceName string Имя службы
timeoutMilliseconds int Таймаут
return void
        public static void RestartService(string serviceName, int timeoutMilliseconds = 30000)
        {
            ServiceController service = new ServiceController(serviceName);
            try
            {
                TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
                if (service.Status != ServiceControllerStatus.Stopped)
                {
                    Log.MesNormal("Служба " + serviceName + " запущена. Останавливаем.");
                    service.Stop();
                    service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
                    Log.MesPass("Служба " + serviceName + " остановлена.");
                }

                Log.MesNormal("Запускаем службу " + serviceName);
                service.Start();
                service.WaitForStatus(ServiceControllerStatus.Running, timeout);
                Log.MesPass("Служба " + serviceName + " запущена.");
            }
            catch(Exception ex)
            {
                Log.MesError("Ошибка перезапуска службы " + serviceName + "\r\n" + ex.Message + "\r\n" + ex.StackTrace);
            }
        }