日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows 10 封装普通EXE为系统服务

發布時間:2023/12/20 windows 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows 10 封装普通EXE为系统服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Windows 10 封裝普通EXE為系統服務

Windows服務是指Windows操作系統中的一種運行在后臺的計算機程序。它在概念上類似于Unix/Linux守護進程,一個標準的Windows服務必須匹配服務控制管理器(SCM)(負責管理Windows服務的組件)的接口規則和協議,處理服務控制管理器(SCM)的啟動、停止和暫停消息。

SC

SC.exe 為Windows系統自帶工具,可對Windows系統服務進行創建查詢啟動停止刪除等操作。
注意: sc.exe 只支持操作服務控制管理器(SCM)接口規范的系統服務. 一般的網絡服務進程如shadowsocks, nginx 等無法作為服務直接啟動,需要用到接下來提到的服務封裝器.

SrvAny.exe

SrvAny.exeWindows Resource Kit中一個特殊組件。可以作為服務封裝器來處理預期的服務接口(例如處理service_start,然后響應service_started或service_failed)并允許配置任何可執行文件或腳本作為一個服務。

示例

這里以shadowsocks為示例:

Step 1

首先以SrvAny.exe作為封裝器創建一個名為”shadowsocks”系統服務框架, 服務暫時還無法使用, 具體的shadowsocks運行配置稍后通過注冊表詳細配置.

sc create "shadowsocks" binPath=C:\Go\bin\srvany.exe type= own start= auto DisplayName= "shadowsocks"

sc query 查詢服務狀態為STOPPED.

sc query shadowsocksSERVICE_NAME: ss_59488TYPE : 10 WIN32_OWN_PROCESSSTATE : 1 STOPPEDWIN32_EXIT_CODE : 0 (0x0)SERVICE_EXIT_CODE : 0 (0x0)CHECKPOINT : 0x0WAIT_HINT : 0x0

Step 2

運行regedit, 定位到以下KEY:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\shadowsocks

右擊”shadowsocks”項, “新建”->”項”, 創建Parameters子項.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Services\Parameters

Step 3

Parameters子項下添加”shadowsocks”運行配置:

名稱類型描敘
AppDirectoryREG_SZ運行目錄
ApplicationREG_SZ運行exe路徑
AppParametersREG_SZ運行exe參數

當服務控制管理器(SCM) 通知SrvAny.exe 封裝器啟動時, SrvAny.exe將查找注冊表以上配置,啟動指定Application .

Step 4

sc start shadowsocks SERVICE_NAME: shadowsocksTYPE : 10 WIN32_OWN_PROCESSSTATE : 2 START_PENDING(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)WIN32_EXIT_CODE : 0 (0x0)SERVICE_EXIT_CODE : 0 (0x0)CHECKPOINT : 0x0WAIT_HINT : 0x7d0PID : 31452FLAGS sc query shadowsocks SERVICE_NAME: shadowsocksTYPE : 10 WIN32_OWN_PROCESSSTATE : 4 RUNNING(STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)WIN32_EXIT_CODE : 0 (0x0)SERVICE_EXIT_CODE : 0 (0x0)CHECKPOINT : 0x0WAIT_HINT : 0x0

其他封裝器

SrvStart

https://github.com/rozanski/srvstart

winsw

https://github.com/kohsuke/winsw

NSSM

推薦使用, 只需運行命令即可通過圖形界面完成配置, 具體可訪問 the Non-Sucking Service Manager.

nssm install <servicename>

Windows Service Manager (SrvMan)

http://tools.sysprogs.org/srvman/

Resource

Windows Resource Kit

Resource_Kit Wiki

總結

以上是生活随笔為你收集整理的Windows 10 封装普通EXE为系统服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。