有時候我們需要将bat、exe等檔案作為Windows的服務,我們可以使用bat、nssm等工具将此類檔案設定為Windows服務,此處我們介紹使用WinSW這個工具。
1、下載下傳
下載下傳位址為:https://github.com/winsw/winsw/releases
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiNx8FesU2cfdGLwczX0xiRGZkRGZ0Xy9GbvNGLwIzXlpXazxSPRhlW1pEWalmVYNWQClGVF5UMR9Fd4VGdsATNfd3bkFGazxycykFaKdkYzZUbapXNXlleSdVY2pESa9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxgzN1UTMyYTM0ETOwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
檔案位址:https://github.com/winsw/winsw/releases/download/v3.0.0-alpha.10/WinSW-x64.exe
2、配置
這裡我們将minio.exe作為Windows服務為例子進行講解
2.1、我們将下載下傳下來的WinSW-x64.exe檔案複制到Minio的安裝目錄并重命名(友善寫指令,如minio-server.exe);
2.2、在Minio的安裝目錄中建立一個名稱為minio-server的xml檔案(必須要和WinSW-x64.exe重命名的minio-server名稱一緻),目的是WinSW會去讀取和自己相同名稱的xml檔案中的配置進行相關設定,xml檔案中的具體配置如下所示:
<service>
<!-- 服務ID名稱(唯一) -->
<id>Minio-Server</id>
<!-- 服務顯示名稱 -->
<name>Minio-Server</name>
<!-- 服務的描述資訊 -->
<description>Minio檔案存儲伺服器</description>
<!-- 可設定環境變量 -->
<env name="HOME" value="%BASE%"/>
<!-- 要執行的可執行檔案 -->
<executable>%BASE%\minio.exe</executable>
<!-- 可執行檔案傳遞的參數 -->
<arguments>server "%BASE%\data"</arguments>
<!-- <logmode>rotate</logmode> -->
<logpath>%BASE%\logs</logpath>
<log mode="roll-by-size-time">
<sizeThreshold>10240</sizeThreshold>
<pattern>yyyyMMdd</pattern>
<autoRollAtTime>00:00:00</autoRollAtTime>
<zipOlderThanNumDays>5</zipOlderThanNumDays>
<zipDateFormat>yyyyMMdd</zipDateFormat>
</log>
</service>
3、執行安裝
以管理者身份運作CMD并定位到Minio的安裝目錄,執行安裝指令minio-server install,此時我們的Windows服務清單中就多了一個叫Minio-Server的服務了,如下圖所示:
4、WinSW指令
指令 | 描述 |
---|---|
install | 安裝服務 |
uninstall | 解除安裝服務 |
start | 啟動服務 |
stop | 停止服務 |
restart | 重新開機服務 |
status | 檢查服務狀态 |
refresh | 重新整理服務屬性而不是重新安裝 |
customize | -- |