2014-01-24 104 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

我可以在停止命令中看到服務名稱後面缺少引號。否則,它可能是一個權限問題。也許與您的服務登錄用戶沒有足夠的權限來停止服務。