Windows Server下把BAT批處理註冊成服務在後台運行且登出後能正常運行

來源:互聯網
上載者:User

標籤:檔案   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批處理註冊成服務在後台運行且登出後能正常運行

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.