某程序(進程)在運行的時候可能掛掉,需要去監控該程序,並在它掛掉的時候重啓之,確保該程序能一直運行。
Linux下面似乎有守護進程的概念,Windows下面其實也很簡單,批處理就可以搞定 :
但需要了解如下幾個命令
tasklist + find,ping。
tasklist是列出所有進程,可以指定只列出某用戶的進程,用/FI參數過濾。
find /C 可以去tasklist的結果中查找指定進程名,並輸出個數。
還有個問題是如何設置每隔一段時間去檢測進程是否在運行,我用的是ping命令自帶的延遲參數-w,將IP地址設置成一個空地址,
比如0.0.0.1,這樣該命令會一直ping,直到一定n*w 毫秒後才返回(n和w分別是參數-n和-w指定的值)。
示例程序如下: (JF-SVW.exe SIP轉發進程)
:RESTART
tasklist /FI "username eq administrator" | find /C "JF-SVW.exe" > temp.txt
set /p num= < temp.txt
del /F temp.txt
echo %num%
if "%num%" == "0" start /D "C:\Program Files\SHELL\SVW\" JF-SVW.exe
ping -n 10 -w 2000 0.0.0.1 > temp.txt
del /F temp.txt
goto RESTART
注意1:goto語句是將監控程序設置成死循環。
注意2:可以用start /D path program去異步調用program程序,
也就是不等program指定完畢就執行下面的語句,因此可以設置固定間隔(n*w毫秒)去監測。
如果用call program則是同步調用,會等待program執行完畢,這樣延遲就用不着了
Windows監控並重啓某個進程腳本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
HOW TO:在圖形用戶介面中查看和轉移 FSMO 角色
lingping
2019-02-23 14:05:54
Windows 2000 Active Directory FSMO 角色
lingping
2019-02-23 14:05:54
Windows 7 x64 with boot camp 4.0 - "unsupported model
lingping
2019-02-23 14:05:54
windows 2008 全新仲裁模式
qyh282110204
2019-02-23 14:05:36
調整Windows 7的DPI, 使文字閱讀更舒服【開始的搜索】
wwtwwttc
2019-02-23 14:05:24
系統慢、電腦性能變差自動診斷和修復
wwtwwttc
2019-02-23 14:05:23
Windows 7桌面背景幻燈片怎麼不動了
wwtwwttc
2019-02-23 14:05:21
iscsi存儲
samplelife
2019-02-23 13:57:35
Windows組策略屏蔽U盤有妙法(圖)
czq2008sky
2019-02-23 13:43:30
Windows PowerShell 批量遷移Windows用戶信息
781732825
2019-02-23 13:43:05
SQL 2008 R2安裝部署及端口開放
vip2008
2019-02-23 13:42:18
Windows server 2003 *** 配置實例
czq2008sky
2019-02-23 13:38:34
Windows server 2003 *** 配置實例(Site to Site)
czq2008sky
2019-02-23 13:38:34
C Windows編程中常用數據類型轉換
toigel
2019-02-23 13:38:11
網站建設初期需注意事項
zuotuitui
2019-02-23 13:37:36