• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    windows .bat批處理實現進程監控確保程序運行

    有沒有碰到windows辦事器上需要一向運行的某個法式,經常主動退出?若是有,那快來嘗嘗這篇經驗吧,操縱批處置劇本來實實際時檢測歷程,發現歷程竣事主動啟動!

    一、原代碼

    1. 1

      打開“記事本”,將以下代碼寫入,然后保留文件為:jk.bat

      @echo off 

      rem 界說需監控法式的歷程名和法式路徑,可按照需要進行點竄

      set AppName=NetbootM.exe

      set AppPath=E:\sdyc-v1.3\

      title 歷程監控

      cls

      echo.

      echo 歷程監控起頭……

      echo.

      rem 界說輪回體

      :startjc

         rem 從歷程列表中查找指心猿意馬歷程

         rem  下面語句也可寫當作 qprocess %AppName% >nul (經驗發布后彌補)

         qprocess|findstr /i %AppName% >nul

         rem 變量errorlevel的值等于0暗示查找到歷程,不然沒有查找到歷程

         if %errorlevel%==0 (

               echo ^>%date:~0,10% %time:~0,8% 法式正在運行……

          )else (

                 echo ^>%date:~0,10% %time:~0,8% 沒有發現法式歷程

                 echo ^>%date:~0,10% %time:~0,8% 正在從頭啟動法式

                 start %AppPath%%AppName% 2>nul && echo ^>%date:~0,10% %time:~0,8% 啟動法式當作功

         )

         rem 用ping號令來實現延時運行

         for /l %%i in (1,1,10) do ping -n 1 -w 1000 168.20.0.1>nul

         goto startjc

      echo on

    2. 2

      雙擊jk.bat文件運行劇本,運行結果如下:

    二、常識點

    1. 1

      qprocess|findstr /i %AppName% 即 qprocess|findstr /i NetbootM.exe

      起首用qprocess號令顯示當前系統所有可歷程列表,也可用tasklist號令替代,再經由過程“|”管道符,將成果做為findstr號令的查找源文件,即用findstr號令從歷程列表中查找 “NetbootM.exe”,合適前提則輸出,用/i參數暗示查找不區別巨細字。

    2. 2

      >nul 暗示將號令的尺度輸出成果重定標的目的到空設備,即不顯示在屏幕上。

    3. 3

      %errorlevel%是系統變量,當前一個號令運行當作功,它的值為0,不然它的值年夜于0。

    4. 4

      %date:~0,10% %time:~0,8%:變量%date%、%time%別離暗示當前日期和時候;

      %var:~0,10%可用于對變量%var%進行字符截取。“~”暗示:從左邊起頭;“0,10”暗示:從0位今后,截取10個字符。

    5. 5

      start notepad 2>nul && echo  啟動法式當作功

      start號令用于啟動法式,后面跟需運行的法式,如法式可執行文件在系統變量%path%所含目次中或跟劇本在統一目次可不跟文件路徑,不然需輸入完整路徑。

      2>nul 暗示將尺度錯誤輸出重定標的目的到空設備,即尺度錯誤輸出不顯示出來。

      邏輯運算符“&&”暗示只有在符號 && 前面的號令當作功時,才用于運行該符號后面的號令。

    6. 6

        for /l %%i in (1,1,10) do ping -n 1 -w 1000 168.20.0.1

      for /l  %i in (1,1,10)  do 暗示變量%i的初始值為1,當%i小于等于10時,運行do后面的號令語句,同時%i自增1,直到%i年夜于10竣事輪回。此中%i在劇本要寫當作%%i。

      ping 號令 -n參數暗示發送1個icmp包,-w 1000 暗示期待答復的超不時間為1秒,后面跟一個不成能ping通的IP,來實現延時1秒的功能,但這個延時不敷切確,且跟運行的電腦有關。

    注重事項

    • 若是認為本經驗對您有所幫忙,請點擊下面【投票】撐持一下作者!
    • 發表于 2018-06-27 00:00
    • 閱讀 ( 1179 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆