我正在尝试检查一个进程是否正在远程系统上运行。我正在使用以下代码:
string procSearc = "notepad";
string remoteSystem = "remoteSystemName";
Process[] proce = System.Diagnostics.Process.GetProcessesByName(procSearch, remoteSystem);
但是,当我尝试运行代码时,出现以下错误:“无法连接到远程计算机。”
我可以使用以下命令运行 pslist: C:>pslist\remoteSystemName 所以我知道可以获得我需要的信息是可能的,但我需要在代码中得到它。
另一种可能是将 pslist 集成到 C# 中并搜索列表以查看进程是否存在,但我还没有找到有关如何执行此操作的信息。
最佳答案
为服务使用 System.ServiceProcess.ServiceController
类。您可以使用 Status
检查它是否正在运行,并使用 Stop()
和 Start()
来控制它。
ServiceController sc = new ServiceController();
sc.MachineName = remoteSystem;
sc.ServiceName = procSearc;
if (sc.Status.Equals(ServiceControllerStatus.Running))
{
sc.Stop();
}
else
{
sc.Start();
}
关于c# - 使用 C# 检查进程是否正在远程系统上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/865412/