【发布时间】:2019-01-18 10:35:18
【问题描述】:
我想在停止和启动服务的两个 dos 命令之间暂停。
代码如下: (代码借自How can a windows service programmatically restart itself?)
Process proc = new Process();
ProcessStartInfo psi = New ProcessStartInfo();
psi.CreateNoWindow = true;
psi.FileName = "cmd.exe";
psi.Arguments = "/C net stop YOURSERVICENAMEHERE && net start YOURSERVICENAMEHERE";
psi.LoadUserProfile = false;
psi.UseShellExecute = false;
psi.WindowStyle = ProcessWindowStyle.Hidden;
proc.StartInfo = psi;
proc.Start();
基本上,我想在停止和开始之间放置一个“暂停”:
psi.Arguments = "/C net stop YOURSERVICENAMEHERE && timeout /t 10 /nobreak && net start YOURSERVICENAMEHERE"
【问题讨论】:
-
不再...
-
为什么不干脆停止服务,使用 NET 中可用的许多休眠方法,然后启动第二个服务?是否必须在单个命令行上执行?
-
它是同一个服务被停止和启动......一旦服务停止......没有第二个“启动”命令就无法再次启动......(这是内部到服务)