Windows監控並重啟某個程式指令碼
Windows監控並重啟某個程式指令碼
某程式(程式)在執行的時候可能掛掉,需要去監控該程式,並在它掛掉的時候重啟之,確保該程式能一直執行。
比如土net就經常掛,需要監控程式去監控。
Linux下面似乎有守護程式的概念,Windows下面其實也很簡單,dos批處理就可以搞定 :
-)需要了解如下幾個命令
tasklist + find,ping。
tasklist是列出所有程式,可以指定只列出某使用者的程式,用/FI引數過濾。
find /C可以去tasklist的結果中查詢指定程式名,並輸出個數。
還有個問題是如何設定每隔一段時間去檢測程式是否在執行,我用的是ping命令自帶的延遲引數-w,將IP地址設定成一個空地址,
比如0.0.0.1,這樣該命令會一直ping,直到一定n*w 毫秒後才返回(n和w分別是引數-n和-w指定的值)。
示例程式如下: (firefox.exe火狐瀏覽器程式)
:RESTART
tasklist /FI "username eq administrator" | find /C "firefox.exe" > temp.txt
set /p num= < temp.txt
del /F temp.txt
echo %num%
if "%num%" == "0" start /D "C:\Program Files\Mozilla Firefox\" firefox.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執行完畢,這樣延遲就用不著了
某程式(程式)在執行的時候可能掛掉,需要去監控該程式,並在它掛掉的時候重啟之,確保該程式能一直執行。
比如土net就經常掛,需要監控程式去監控。
Linux下面似乎有守護程式的概念,Windows下面其實也很簡單,dos批處理就可以搞定 :
-)需要了解如下幾個命令
tasklist + find,ping。
tasklist是列出所有程式,可以指定只列出某使用者的程式,用/FI引數過濾。
find /C可以去tasklist的結果中查詢指定程式名,並輸出個數。
還有個問題是如何設定每隔一段時間去檢測程式是否在執行,我用的是ping命令自帶的延遲引數-w,將IP地址設定成一個空地址,
比如0.0.0.1,這樣該命令會一直ping,直到一定n*w 毫秒後才返回(n和w分別是引數-n和-w指定的值)。
示例程式如下: (firefox.exe火狐瀏覽器程式)
:RESTART
tasklist /FI "username eq administrator" | find /C "firefox.exe" > temp.txt
set /p num= < temp.txt
del /F temp.txt
echo %num%
if "%num%" == "0" start /D "C:\Program Files\Mozilla Firefox\" firefox.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執行完畢,這樣延遲就用不著了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1373214/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sqlserver監控指令碼_發現某個等待就發出郵件SQLServer指令碼
- 寫了個監控 ElasticSearch 程式異常的指令碼!Elasticsearch指令碼
- 寶塔liunx控制皮膚,監控程式斷了以後自動重啟的指令碼指令碼
- windows通過python指令碼重啟本地redisWindowsPython指令碼Redis
- shell指令碼監控啟動停止weblogic服務指令碼Web
- 【shell】磁碟監控指令碼指令碼
- nginx重啟指令碼Nginx指令碼
- PostgreSQL之鎖監控指令碼SQL指令碼
- 使用Shell指令碼程式監控網站URL是否正常指令碼網站
- 監控系統告警指令碼集合指令碼
- Shell 系統資訊監控指令碼指令碼
- 分享實用監控指令碼:使用Shell檢查程式是否存在指令碼
- 批處理指令碼來修復並開啟Windows 7中的Windows Defender防火牆指令碼Windows防火牆
- centos 監控web站點是否500 指令碼CentOSWeb指令碼
- shell指令碼:監控MySQL服務是否正常指令碼MySql
- 網路卡流量監控指令碼,python實現指令碼Python
- Shell指令碼監控MySQL主從狀態指令碼MySql
- 監控磁碟使用率的shell指令碼指令碼
- 重構指標之如何監控程式碼圈複雜度指標複雜度
- 關於前端指令碼異常監控的思考前端指令碼
- shell監控服務程式是否啟動
- 在 Linux 上用 Bash 指令碼監控 messages 日誌Linux指令碼
- 記windows自定義bat指令碼自啟動WindowsBAT指令碼
- zabbix監控windows DHCP serverWindowsServer
- Linux上監控Tomcat Down掉後自動重啟TomcatLinuxTomcat
- Linux下批量ping某個網段ip的指令碼Linux指令碼
- Linux開啟防火牆並設定策略指令碼Linux防火牆指令碼
- 擼一個 iOS 重簽名指令碼iOS指令碼
- zabbix-mongodb監控指令碼(高效能、低佔用)MongoDB指令碼
- 透過shell指令碼監控日誌切換頻率指令碼
- 基於Ping和Telnet/NC的監控指令碼案例分析指令碼
- Windows中殺死佔用某個埠的程式Windows
- 019、Vue3+TypeScript基礎,使用watch監視物件資料時,如何監控整個物件或單獨監控物件某個屬性VueTypeScript物件
- 用於自動監控磁碟使用情況的 Shell 指令碼指令碼
- 利用 Shell 指令碼來監控 Linux 系統的記憶體指令碼Linux記憶體
- MySQL 5.6大查詢和大事務監控指令碼(Python 2)MySql指令碼Python
- Prometheus+Grafana實現服務效能監控:windows主機監控、Spring Boot監控、Spring Cloud Alibaba Seata監控PrometheusGrafanaWindowsSpring BootCloud
- 將一個Python指令碼做成一個Windows服務Python指令碼Windows
- Git回滾程式碼到某個commitGitMIT