srvany把程式作為Windows服務執行

2022-01-29 16:39:43 字數 1429 閱讀 4803

srvany.exe是什麼?

srvany.exe是microsoft windows resource kits工具集的乙個實用的小工具,用於將任何exe程式作為windows服務執行。也就是說srvany只是其註冊程式的服務外殼,這個特性對於我們來說非常實用,我們可以通過它讓我們的程式以system賬戶啟動,或者實現隨機器啟動而自啟動,也可以隱藏不必要的視窗,比如說控制台視窗等等。

使用方法

當你獲取到srvany後並決定將某程式作為服務啟動後,請先將srvany安裝為系統服務,具體的安裝方法有很多,比如說可以通過microsoft windows resource kits中另外乙個實用的小工具instsrv.exe進行安裝,將srvany.exe和instsrv.exe拷貝到c:\windows\system32\後,我們可以通過下面的命令列進行srvany.exe的服務安裝:

instsrv servicename c:\windows\system32\srvany.exe

servicename即你自己定義的服務名稱,可以是要作為系統服務啟動的應用程式的名稱。

安裝完畢後,我們需要對srvany.exe進行配置,以便於能夠載入我們指定的程式,配置的方法是,開始 – 執行 – regedit,開啟登錄檔,定位到下面的路徑。

hkey_local_machine\system\currentcontrolset\services\servicename

同樣的servicename是你剛才安裝服務時自定義的服務名稱。

如果該服務名下沒有parameters專案,則對服務名稱專案右擊新建項,名稱為parameters,然後定位到parameters項,新建以下幾個字串值。

比如這裡是個配置例項,我們這裡配置的服務名稱是nginx,其餘是nginx的安裝配置情況。

當然還有乙個比較簡單的做法,那就是將下面的文字儲存為*.reg檔案,然後雙擊匯入登錄檔。

123

456

windows registry editor version 5.00

[hkey_local_machine\system\currentcontrolset\services\服務名稱\parameters]

如果將某窗體程式通過srvany作為服務執行的時候,桌面右下角圖示和窗體無法顯示,這個就涉及到服務的執行方式了,一般服務程式是不包含窗體的,所以系統預設可能會抑制這些服務程式產生的窗體,如果你的服務程式比較特殊,確實需要出現窗體,可以參考下面的辦法:

控制面板 – 管理工具 – 服務(或者 開始 – 執行 – services.msc 確認)開啟服務管理器,選擇你剛剛安裝並需要展示窗體的服務,然後右擊選擇屬性,切換到 「登入」 選項卡,勾選上 「允許服務與桌面互動」 然後按確定儲存,重啟你的服務,看看窗體是否出現了。

把RedisWatcher安裝為windows服務

exepath c redis bin exename redis server.exe 可選的快速失敗時間,單位毫秒,基本上不需要配置 fastfailms 1000 重試次數,預設是永遠重試,也就是0 fastfailretries 0 支援n個例項,注意,redisredis只能監聽由redi...

python把函式作為引數

在2.1小節中,我們講了高階函式的概念,並編寫了乙個簡單的高階函式 def add x,y,f return f x f y print add 5,9,abs 14根據函式的定義,函式執行的 實際上是 abs 5 abs 9 由於引數 x,y 和 f 都可以任意傳入,如果 f 傳入其他函式,就可以...

JS 把函式作為引數傳遞

昨天同事問了我乙個挺有意思的問題,就是js如何把函式當作引數傳進另乙個函式中執行,上網找了乙個並做乙個總結,目前我能理解並正常使用的兩種方法 方法一 func 方法名 str 引數 function test1 func,str else function test2 str 方法二 functio...