使用 winsw 將程式註冊為系統服務

4,476次閱讀
尚無留言

共计 1076 个字符,预计需要花费 3 分钟才能阅读完成。

很多時候自己寫的一些小工具,希望能透過系統服務來管理並執行,這時候 winsw 就能派上用場,這裡說明下怎麼配置。

winsw(Windows Service Wrapper)一款開源項目,可以快速將可執行程式註冊成系統服務

下載

先到該 位置 下載程式,根據系統安裝的 .net framwork 選擇 .Net2 或 .Net4

Win7 預設只有安裝到 3.5 如果要使用 4 以上版本得進行更新,詳細可以自己到控制台查閱,Win10 就直接選擇 .Net4 吧

使用 winsw 將程式註冊為系統服務

配置

這裡以註冊 frp 為系統服務為例子,新增一個 xml 檔案,例如:winsw.xml 內容如下

<service>
    <!-- 該服務的唯一標識 -->
    <id>frp</id>
    <!-- 該服務的名稱 -->
    <name>frp0.30.0</name>
    <!-- 該服務的描述 -->
    <description> 用 frp 發佈本地電腦服務到外網 </description>
    <!-- 要運行的程序路徑 -->
    <executable>frpc<executable>
    <!-- 攜帶的參數 -->
    <arguments>-c frpc.ini</arguments>
    <!-- 第一次啟動失敗 60 秒重啟 -->
    <onfailure action="restart" delay="60 sec"/>
    <!-- 第二次啟動失敗 120 秒後重啟 -->
    <onfailure action="restart" delay="120 sec"/>
    <!-- 日誌模式 -->
    <logmode>append</logmode>
    <!-- 指定日誌文件目錄 (相對於 executable 配置的路徑) -->
    <logpath>logs</logpath>
</service>
所有的選項可以參考 allOptions.xml

註冊服務

因為我目前只有 FRP 需要註冊為系統服務,所以直接將下載回來的應用放到該目錄底下,如附圖

使用 winsw 將程式註冊為系統服務

使用管理員打開命令視窗輸入 install 執行即可,如附圖

使用 winsw 將程式註冊為系統服務

根據自己命名的應用程序修改 winsw 即可

// 註冊服務
winsw.exe install
// 卸載服務
winsw.exe uninstall
// 啓動服務
winsw.exe start
// 停止服務
winsw.exe stop
// 重啓服務
winsw.exe restart
// 查看狀態
winsw.exe status

權限錯誤

如果不是用管理員權限會出現下述錯誤,AccessDenied

使用 winsw 將程式註冊為系統服務

正文完
 0
評論(尚無留言)