使用NSSM注冊Windows服務


使用NSSM注冊Windows服務

NSSM介紹

NSSM(the Non-Sucking Service Manager)是Windows環境下一款免安裝的服務管理軟件,它可以將應用封裝成服務,使之像windows服務可以設置自動啟動等。並且可以監控程序運行狀態,程序異常中斷后自動啟動,實現守護進程的功能。不僅支持圖形界面操作,也完全支持命令行設置。

同類型的工具還有微軟自己的srvany,不過nssm更加簡單易用,並且功能強大。它的特點如下:

  1. 支持普通exe程序(控制台程序或者帶界面的Windows程序都可以)
  2. 安裝簡單,修改方便
  3. 可以重定向輸出(並且支持Rotation)
  4. 可以自動守護封裝了的服務,程序掛掉了后可以自動重啟
  5. 可以自定義環境變量

這里面的每一個功能都非常實用,使用NSSM來封裝服務可以大大簡化我們的開發流程了。

  • 開發的時候是一個普通程序,降低了開發難度,調試起來非常方便
  • 安裝簡單,並且可以隨時修改服務屬性,更新也更加方便
  • 可以利用控制台輸出直接實現一個簡單的日志系統
  • 不用考慮再加一個服務實現服務守護功能

1.下載並解壓

下載鏈接 https://nssm.cc/download,License is public domain. 軟件或其源碼都可以無條件用於任何用途。

2. 添加到環境變量Path

這一步是為了方便直接使用nssm命令;不添加到環境變量也是可以的,但是這樣每次執行nssm命令都需要cd到nssm文件夾。

 

3. 注冊服務

注冊服務使用如下命令: nssm install <servicename>

參數填完后執行"install service"按鈕即可將服務安裝到系統,可以使用系統的服務管理工具service.msc查看了。

如果自動化安裝,可以直接帶上程序路徑: nssm install <servicename> <program> [<arguments>]

4. 服務管理

服務管理主要有啟動、停止和重啟,其命令如下:

  • 啟動服務: nssm start <servicename>
  • 停止服務: nssm stop <servicename>
  • 重啟服務 nssm restart <servicename>
  • 暫停/繼續服務
    nssm pause <servicename>
    nssm continue <servicename>
  • 查看服務狀態nssm status <servicename>

當然,也可以使用系統自帶的服務管理器操作和使用系統的命令。

5. 常見命令

    1)修改參數:

NSSM安裝的服務修改起來非常方便,命令如下:

nssm edit <servicename>

會自動啟動操作界面,直接更改即可。

 

  2)服務刪除:

服務刪除可以使用如下命令之一:

  • nssm remove <servicename>
  • nssm remove <servicename> confirm

功能沒有大的區別,后面的命令是自動確認的,沒有交互界面。

 

參考資料:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM