Как запустить / остановить сервисы с помощью команды net stop в c # - PullRequest
8 голосов
/ 11 июля 2009

как запускать / останавливать сервисы используя команду net stop в c # например

Dim pstart As New ProcessStartInfo
Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.System)
Dim p As New Process
pstart.FileName = path + "\cmd.exe"
pstart.UseShellExecute = False
pstart.CreateNoWindow = True
pstart.WorkingDirectory = path
pstart.FileName = "cmd.exe"
pstart.Arguments = " net start mysql"
p.StartInfo = pstart
p.Start()

Я использовал класс процесса, но без результата

Ответы [ 3 ]

25 голосов
/ 11 июля 2009

Вместо использования простого метода, такого как Process.Start, вы можете использовать класс ServiceController для запуска / остановки определенной службы на локальном / удаленном компьютере.

using System.ServiceProcess;
ServiceController controller  = new ServiceController();

controller.MachineName = ".";
controller.ServiceName = "mysql";

// Start the service
controller.Start();

// Stop the service
controller.Stop();
6 голосов
/ 11 июля 2009

Возможно, вы захотите взглянуть на класс System.ServiceProcess.ServiceController , который предоставляет управляемый интерфейс для служб Windows.

В этом случае:

var mysql = new System.ServiceProcess.ServiceController("mysql");
if (mysql .Status == ServiceControllerStatus.Stopped) {
   mysql.Start();
}
3 голосов
/ 11 июля 2009

Вам нужно передать ключ "/ c" в cmd.exe

pstart.Arguments = "/c net start mysql"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...