最近在使用windows應用程序計划來設置應用開機啟動運行,但是不知為什么老是運行一段時間莫名其妙的退出,很是不爽,后面想想可以將應用做成 “服務” 這樣應該就穩定多了,那怎樣將exe的應用程序簡單快速的做成windows服務呢,同事推薦了一個工具,用起來就是很方便,來寫個博客記錄一下
介紹一下NSSM是個什么東西吧
NSSM 是一個服務封裝程序,它可以將普通 exe 程序或 Nodejs 項目封裝成服務,像 windows 服務一樣運行。同類型的工具還有微軟自己的 srvany,不過 nssm 更加簡單易用,並且功能強大。它的特點如下: 支持普通 exe 程序(控制台程序或者帶界面的 Windows 程序都可以) 安裝簡單,修改方便 可以重定向輸出(並且支持 Rotation) 可以自動守護封裝了的服務,程序掛掉了后可以自動重啟 可以自定義環境變量
官網地址及使用方式:
安裝服務cmd命令:
nssm install <servicename>
ServiceName為要創建的windows服務的名稱,運行后打開配置界面:
填寫參數后點擊 Install Service 按鈕即可完成。
圖形界面操作很簡單,基本看了就會,下面主要介紹命令行用法
-
安裝服務
nssm install <servicename> <app> [<args>...]
示例:
nssm install celery-demo-worker "c:\Program Files\Python35\Scripts\celery.exe"
nssm set celery-demo-worker AppDirectory d:\celery-demo
nssm set celery-demo-worker AppParameters -A run worker --loglevel=debug -c 1
-
啟動服務
nssm start <servicename>
-
停止服務
nssm stop <servicename>
-
重啟服務
nssm restart <servicename>
-
查看服務狀態
nssm status <servicename>
-
手動輪轉日志文件
nssm rotate <servicename>
-
刪除服務
nssm remove <servicename> [confirm]
加confirm后不會彈確認窗口
-
獲取某項配置信息
nssm get <servicename> <parameter> [subparameter]
-
單獨設置某項配置
nssm set <servicename> <parameter> [subparameter] value
-
重置某項配置
nssm reset <servicename> <parameter> [subparameter]
-
暫停/繼續服務
nssm pause <servicename>
nssm continue <servicename>