<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 概述 在現實生活中,使用Windows系統的電腦的時候,可能會遇到這么一種情況:想把一些應用程序添加為開機啟動項。對于有圖形界面的應用程序,一般不存在問題。但是如果想運行命令行應用程序,就不是那么方便了。一種笨辦法就是寫個`bat`,放到啟動文件夾里,就可以開機啟動了。開機之后,你就會發現,這樣會一直顯示著一個CMD窗口,而且這個窗口不能關,關了程序就停了。 其實Windows系統自帶后臺程序管理的功能,也就是我們經常用到的服務。但是Windows的服務只有程序的開發者在寫程序的時候引用到這個功能,才能利用服務來控制程序的啟動和關閉。對于一般的命令行程序來說,沒辦法利用服務。 今天我們要介紹的`WinSW`,它就是一個可以將Windows上的任何一個程序注冊為服務的工具。同樣也可以進行卸載該服務。 ## 安裝 首先要下載winsw。它是一個單個的可執行文件,我們到`Github release`這里就可以下載winsw了。一般來說當然是下載最新的。winsw可以運行在.NET2和.NET4兩個版本上,當然如果使用Win10等比較新的系統。 下載地址:https://github.com/winsw/winsw/releases 這里我們下載`v2.12.0`版本,下載鏈接地址 ```ts https://github.com/winsw/winsw/releases/download/v2.12.0/WinSW-x64.exe ``` ### 配置文件 這里我們將`WinSW.exe`放到`E:\service`目錄下,然后在`WinSW.exe`同級的目錄下,新建`winsw.xml`文件,輸入以下內容。 `winsw.xml`文件內容 ```xml <?xml version="1.0" encoding="UTF-8" ?> <service> <id>TinywanFrpServer0.54.0</id> <name>Tinywan Frp Server 0.54.0 </name> <description>This service runs frp reverse proxy.</description> <executable>E:\frp_0.54.0_windows_amd64\frpc.exe</executable> <arguments>-c E:\frp_0.54.0_windows_amd64\frpc.toml</arguments> <logmode>reset</logmode> </service> ``` 最終`E:\service`目錄下配置和可執行文件 ```ts WinSW.exe winsw.xml ``` ### 注冊服務 配置文件編寫完之后,將配置文件與WinSW.exe放在同一目錄中。注意對應WinSW.exe的配置文件名稱應該是`WinSW.xml`。此時,`WinSW.exe、WinSW.xml`以及你的應用程序應該都是在同一目錄中。然后用管理員權限打開一個命令提示符窗口,cd進入到應用程序所在目錄,可以通過輸入下面的命令來進行控制應用程序對應的服務: 然后打開管理員權限命令提示符,使用下面的命令安裝。 ```ts $ ./WinSW.exe install 2024-08-29 14:56:43,604 INFO - Installing service 'Tinywan Frp Server 0.54.0 (TinywanFrpServer0.54.0)'... 2024-08-29 14:56:43,648 INFO - Service 'Tinywan Frp Server (frp)' was installed successfully. ``` 啟動服務 ```ts $ ./WinSW.exe start 2024-08-29 15:11:40,418 INFO - Starting service 'Tinywan Frp Server 0.54.0 (TinywanFrpServer0.54.0)'... 2024-08-29 15:11:40,976 INFO - Service 'Tinywan Frp Server 0.54.0 (TinywanFrpServer0.54.0)' started successfully. ``` 安裝服務命令執行后,如果返回值為0,就表示服務已經安裝成功。此時在windows服務的窗口,就能看到你剛才安裝的服務了 如果服務啟動有問題,可以通過錯誤日志文件`WinSW.wrapper.log`查看詳情 ```log 2024-08-29 14:58:46,486 ERROR - Failed to start service. System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'E:\frp_0.54.0_windows_amd64\frpc.exe' with working directory 'E:\service'. 系統找不到指定的文件。 at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo ) at System.Diagnostics.Process.StartCore(ProcessStartInfo ) at System.Diagnostics.Process.Start() at WinSW.Util.ProcessHelper.StartProcessAndCallbackForExit(Process processToStart, String executable, String arguments, Dictionary`2 envVars, String workingDirectory, Nullable`1 priority, ProcessCompletionCallback callback, LogHandler logHandler, Boolean hideWindow) at WinSW.WrapperService.StartProcess(Process processToStart, String arguments, String executable, LogHandler logHandler) at WinSW.WrapperService.DoStart() at WinSW.WrapperService.OnStart(String[] args) ``` ## 常用命令 ```ts winsw install 安裝服務 winsw uninstall 卸載服務 winsw start 開啟服務 winsw stop 停止服務 winsw restart 重新啟動服務 winsw status 檢查服務的當前狀態 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看