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

5,085次閱讀
尚無留言

共计 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
評論(尚無留言)

夜升筆談

夜升筆談
夜升筆談
視寫代碼為信仰,奉高效能為執著,成為大牛不是一蹴可幾,但只要秉持信念終究能成,我依舊在這條路上不斷前進。
最新评论
Yosheng Yosheng 我是买梯子了 只是理解一下原理而已
虚拟信用卡 虚拟信用卡 还是直接买梯子吧,太浪费时间了
spring spring 学习了
cskepper cskepper 非常有用,已经顺利解决
cskepper cskepper 非常有用,已经顺利解决
Yosheng Yosheng 這可能是代理服務器的問題了...
淑淑 淑淑 我在大陸使用了VPN 照著你說的操作 但是出現無法透過代理伺服器連線 我的電腦是W7 也下載了兼容版 用了大概一個星期後今天LINE就無法使用VPN了 這種要怎樣解決
Yosheng Yosheng 如果不能直接撥放建議直接下載回來播放,後面我就沒去折騰為什麼不能線上播放了
SADFISH SADFISH 我无法播放语音是为什么呀楼主
Yosheng Yosheng 微信号 yosheng0323