標籤:檔案 serve 註冊 bat png 開機 啟動 登出 sha
批處理有如下特點:
1、登入到當前視窗運行時,如果關閉控制台會連同啟動的程式一起關閉。
2、如果是以start /b的形式啟動,那麼同樣也是在控制台關閉後者登出當前視窗也會一起關閉。
3、如果以vbs的形式啟動,登出目前使用者也會一起關閉。
有如下方式解決:
1、使用【任務計劃】去啟動批處理,裡面有很多個觸發點,可以選擇【電腦啟動時】觸發也能達到開機啟動的效果,而不用登入案頭。
2、有錯誤啟動Windows Service方式,用【sc】命令註冊服務,然後以cmd.exe的形式去啟動(C:\Windows\System32\cmd.exe /C C:\Python34\Scripts\shadowsocks\shadowsocks\run.bat),但這種形式表面上是啟動不成功服務,但是實質上在進程上已經有了python.exe這個進程存在,所以是成功啟動的;而且這種形式是不能停止或重啟這個服務。
3、使用【Bat_To_Exe_Converter】這個軟體將bat轉換成exe程式,然後用【sc】或者【srvinstw.exe】把這個exe註冊進服務,如果是python的程式同樣會面臨第2步的問題,但是如果你啟動的是別的,很可能會成功;還有一個問題,這個轉換的程式在執行轉換後的exe時會在臨時檔案夾下產生一個【b2e.exe】的進程,我猜測這個是執行bat的基礎,但是裡面具體幹了什麼不得而知,如果想使用,請謹慎!
:http://www.jb51.net/article/20270.htm
4、終極解決方案,使用nssm程式
ssm install <servicename>
然後在服務列表即可啟動,這個程式對bat註冊成服務非常不錯,比上面三種方式靠譜。
參考:
http://stackoverflow.com/questions/415409/run-batch-file-as-a-windows-service
Windows Server下把BAT批處理註冊成服務在後台運行且登出後能正常運行