2014-01-24 69 views
1

我试图重新从同一窗口服务窗口服务,这段代码日志流程执行

var proc = new Process(); 
var psi = new ProcessStartInfo(); 

psi.CreateNoWindow = true; 
psi.FileName = "cmd.exe"; 
psi.Arguments = "/C net stop \"EmailService-3.1.0\ && net start \"EmailService-3.1.0\""; 
psi.LoadUserProfile = false; 
psi.UseShellExecute = false; 
psi.WindowStyle = ProcessWindowStyle.Hidden; 
proc.StartInfo = psi; 

它不工作,我不知道为什么,有什么我可以做日志或者确定发生了什么事,或者获得净停止命令被调用时发生的事情的输出?

+0

还有[其他方式](http://stackoverflow.com/questions/11770206/can-a-windows-service-stop-itself)停止从 – TomT

+0

服务我试图从相同的windows服务。 – dagda1

+0

您是否看到链接?它没有真正突出显示:http://stackoverflow.com/questions/11770206/can-a-windows-service-stop-本身 – TomT

回答

0

您可以重定向net stop命令的输出,但根据TomT的评论,这似乎是一个非常迂回的重新启动服务的方式。

psi.Arguments = "/C net stop \"EmailService-3.1.0\" > C:\\svclog.txt "; //&& net start \"EmailService-3.1.0\""; 
0

我可以在停止命令中看到服务名称后面缺少引号。否则,它可能是一个权限问题。也许与您的服务登录用户没有足够的权限来停止服务。