關於exe應用程式做成Windows服務爬過的坑

來源:互聯網
上載者:User

標籤:control   rect   顯示   添加   太平洋   請求   解決方案   direct   空格   

之前在客戶的伺服器上布了一個Go寫的exe,老是被其他人關掉,鬱悶無比,於是就想著把這個exe做成windows服務算了,在後台跑你總不會去關了吧,這樣就有了下面爬坑的經曆。

 

系統內容:windows 2008 R2

1、SC命令建立和刪除windows服務

sc指令用法參考 sc百度百科,這裡就不多說了。按照sc指令添加服務成功,啟動服務,錯誤1053:服務沒有及時響應啟動或控制請求。呵呵呵~~~~~~

各種百度、Google各種修改可以確定這不是許可權問題,初步估計應該是非標準windows服務應用程式,所以啟動不了。好吧,那我就只能換個方法了。幸虧剛剛在搜尋解決方案的時候找到了網上另外一種實現的方法,就是下面這種。

 

2、使用instsrv.exe和srvany.exe建立和刪除windows服務


果然是神器啊,實現方法具體如下:

① 下載相關工具,地址:太平洋下載,解壓放到你需要的盤裡面,這裡我放的是C:\tools

② 已管理員身份執行CMD,進入工具所在的檔案夾,如:C:\tools

③ 執行命令: C:\tools\instsrv.exe ServerName C:\tools\srvany.exe,ServerName是你需要建立的服務名稱。

④ 註冊表修改,這裡我的註冊表路徑和網上說的不一樣,網上的路徑是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,我的路徑是HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services。至於原因我沒高興去查,有興趣的小夥伴可以查完告訴我。當前路徑下面找到我們的服務,然後右鍵建立項,名稱為Parameters。選中Parameters,然後在右邊建立兩個字串值。第一個名為Application,值為:應用程式路徑,第二個名為AppDirectory,值為:應用程式所在目錄。

 

ok,到此為止你已成功建立服務,並且能夠正常運行了。如果啟動服務不成功,可以進入系統服務,找到ServiceName這個服務,雙擊進入它的屬性,設定允許與案頭互動。然後啟動服務。

使用Instsrv.exe程式刪除服務的方法:在命令列下輸入“C:\tools\instsrv.exe ServerName remove”。需要注意的是Instsrv.exe這個程式也可以刪除某些系統服務,所以使用的時候請確認確認再確認。

 

為啥這種方式exe就能執行呢?下面的網友的相關說法(據考證應該就是這個原因):

instsrv.exe可以建立和刪除服務,然而如果沒有srvany.exe的參與,建立的服務可能無法啟動。那麼srvany.exe做了些什麼呢,啟動服務後我們可以在工作管理員中找到我們的服務,然後右擊服務,選擇轉到進程,(如果進程中沒有任何項被選中,則點擊下面的顯示所有使用者進程,然後重新選擇轉至進程),我們看到的是srvany.exe,而不是我們自己的exe。原來我們的exe成為了它的一個子項,由srvany.exe協助啟動。

ps:

1、sc指令使用過程中空格的坑,sc [servername] create Servicename [Optionname= Optionvalues],這個optionname和optionvalues參數允許你指定操作命令參數的名稱和數值。注意,這一點很重要在操作名稱和等號之間是沒有空格的。

 

2、在建立註冊表的時候有個坑,就是360,當360開啟的時候修改註冊表鍵名為Application報錯 :登錄編輯程式無法重新命名

 

參考來自:http://www.cnblogs.com/jiaoyiping/p/5638506.html

 

關於exe應用程式做成Windows服務爬過的坑

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.