[轉(zhuǎn)載]NSSM 將程序封裝成服務(wù)軟件
一、概要:
軟件官方下載地址:https://nssm.cc/download
NSSM是一個(gè)服務(wù)封裝程序,它可以將普通exe程序封裝成服務(wù),使之像windows服務(wù)一樣運(yùn)行。同類型的工具還有微軟自己的srvany,不過nssm更加簡單易用,并且功能強(qiáng)大。它的特點(diǎn)如下:
-
支持普通exe程序(控制臺(tái)程序或者帶界面的Windows程序都可以)
-
安裝簡單,修改方便
-
可以重定向輸出(并且支持Rotation)
-
可以自動(dòng)守護(hù)封裝了的服務(wù),程序掛掉了后可以自動(dòng)重啟
-
可以自定義環(huán)境變量
這里面的每一個(gè)功能都非常實(shí)用,使用NSSM來封裝服務(wù)可以大大簡化我們的開發(fā)流程了。
-
開發(fā)的時(shí)候是一個(gè)普通程序,降低了開發(fā)難度,調(diào)試起來非常方便
-
安裝簡單,并且可以隨時(shí)修改服務(wù)屬性,更新也更加方便
-
可以利用控制臺(tái)輸出直接實(shí)現(xiàn)一個(gè)簡單的日志系統(tǒng)
-
不用考慮再加一個(gè)服務(wù)實(shí)現(xiàn)服務(wù)守護(hù)功能
我覺得它還可以需要增加的一個(gè)功能是將輸入輸出重定向為一個(gè)tcp連接,這樣可以通過telnet的方式實(shí)現(xiàn)程序的交互了,那樣就更加好用了。
下面就簡單的介紹一下如何使用這個(gè)工具。
二、服務(wù)安裝:
服務(wù)安裝可以使用如下命令: nssm install <servicename>
執(zhí)行此命令后,會(huì)出現(xiàn)一個(gè)界面,基本上看著就知道怎么用了,大多數(shù)情況下,只需要填第一個(gè)界面的程序路徑(最好用瀏覽選中對應(yīng)程序)就可以了。
這里可以設(shè)置: 環(huán)境變量(在 environment 選項(xiàng)卡)
依賴服務(wù)(在Dependencies 選項(xiàng)卡) 多服務(wù)依賴時(shí) 每個(gè)服務(wù)名占一行
其它界面的是高級參數(shù)的配置,可以根據(jù)需要自行選擇。
參數(shù)填完后執(zhí)行"install service"按鈕即可將服務(wù)安裝到系統(tǒng),可以使用系統(tǒng)的服務(wù)管理工具查看了。
當(dāng)然,如果要自動(dòng)化安裝,可以直接帶上程序路徑: nssm install <servicename> <program> [<arguments>]
NSSM本身win7及以上的系統(tǒng)基本都是支持的,我測試過win7,2008,2016系統(tǒng),都是沒有問題的,如果安裝失敗,請首先檢查是否裝了某國產(chǎn)管家或國產(chǎn)殺毒軟件。
安裝完成后,服務(wù)還沒有啟動(dòng),需要通過下面的服務(wù)管理的命令啟動(dòng)服務(wù)。
三、服務(wù)管理:
服務(wù)管理主要有啟動(dòng)、停止和重啟,其命令如下:
-
啟動(dòng)服務(wù): nssm start <servicename>
-
停止服務(wù): nssm stop <servicename>
-
重啟服務(wù): nssm restart <servicename>
當(dāng)然,也可以使用系統(tǒng)自帶的服務(wù)管理器操作和使用系統(tǒng)的命令。
四、修改參數(shù):
NSSM安裝的服務(wù)修改起來非常方便,命令如下:
nssm edit <servicename>
會(huì)自動(dòng)啟動(dòng)操作界面,直接更改即可。
五、服務(wù)刪除:
服務(wù)刪除可以使用如下命令之一:
-
nssm remove <servicename>
-
nssm remove <servicename> confirm
功能沒有大的區(qū)別,后面的命令是自動(dòng)確認(rèn)的,沒有交互界面。