windows service自動重啟服務

2022-02-28 11:08:08 字數 550 閱讀 4819

服務一般都能正常的執行,但有時候也會有一些假死現象,比如公司有一考勤服務就因為依賴於硬體廠家的api,

但廠家api執行一段時間後會默名的假死,引起整個服務假死,因為這一假死現象具有不確定性,所以不太可能

看到假死後手動去進行啟動。

目前本人知道的有兩種方法解決這種情況:

1.寫另乙個服務,對此當前服務進行監聽【需要一些共同資料來判斷是否為假死】,一但發現假死,進行重新啟動

2.利用服務本身進行重啟。

a.開啟 控制面板-》管理工具-》服務,找到需要自動重啟服務,點選右鍵-》屬性,點選 恢復 選項卡, 將 」第一次失敗(f)",」第二次失敗(s)",」後續失敗(u)"都設定為"重新啟動服務",點選確定,如圖:

b.服務程式中開一線程,進行假死判斷, 一旦發現假死,執行environment.exit(1);這樣服務在退出後會重新進行啟動

注:此方法前提條件是判斷假死的執行緒還能正常執行。

windowsservice建立心得

1,新建乙個windows服務為 filetranceservice,2,新增timer,該timer是 system.timers,注意 看看這個 timer 控制項的屬性中的命名空間是什麼 如果是 system.timers.timer 那就對了 如果是 system.windows.froms...

Windows Service學習筆記

windows服務程式是windows作業系統下能完成特定功能的可執行程式。它適合需要長時間執行的功能使用。建立完成後,看到如下圖所示 將service1的名稱改成你需要的名稱,例如 helloservice 修改安裝服務名稱 修改安裝許可權 完成上面的步驟後,就可以開始我們的程式啦。主要使用到on...

Windows Service獲取執行目錄的方法

一般獲取目錄方法 首先要弄清你對 當前目錄 current directory 的定義是什麼。工作目錄 你的應用程式正在哪個目錄下工作。這個目錄並不一定是exe檔案所在的目錄,而且在程式執行中是可以改變的。system.io.directory類提供了getcurrentdirectory方法,該方...