DOS中判斷進(jìn)程是否存在的方法

    時(shí)間:2024-07-05 23:41:47 計(jì)算機(jī)應(yīng)用 我要投稿
    • 相關(guān)推薦

    DOS中判斷進(jìn)程是否存在的方法

      檢測(cè)進(jìn)程是否存在,并做出預(yù)定動(dòng)作。

      tasklist /nh>d:\tddown~1\1.txt

      find /i "QQ.exe" d:\tddown~1\1.txt

      if ERRORLEVEL 1 (echo qq.exe不存在) else (echo qq.ex存在)

      ------------第二個(gè)-----------

      tasklist /nh|find /i "QQa.exe"

      if ERRORLEVEL 1 (echo qqa.exe不存在) else (echo qqa.exe存在)

      檢查電腦里有沒QQ.EXE進(jìn)程,有則自動(dòng)結(jié)束

      a)、先用tasklist 輸入進(jìn)程列表給find ,讓find找出qq.exe進(jìn)程,如果找到,那執(zhí)行下面的結(jié)束操作,找不到就退出bat

      @echo off

      tasklist|find /i "qq.exe" ||exit

      taskkill /im qq.exe /f

      b)、把進(jìn)程列表放在A文檔里面然后再用FIND查找代碼:

      @echo off

      tasklist>C:\a.txt

      find "QQ.exe" C:\a.txt&&taskkill /f /im "QQ.exe"

      c)、如果不是要循環(huán)監(jiān)控的話,直接taskkill。。。反正最終目的是不要有QQ進(jìn)程。

      每隔20秒自動(dòng)檢測(cè)進(jìn)程列表,自動(dòng)關(guān)閉notepad.exe。

      @echo off

      :1

      tasklist | find "notepad.exe" >>c:\notepad.luowei

      if exist c:\notepad.luowei taskkill /f /im notepad.exe

      ping 127.1 -n 20 >nul 2>nul

      goto 1

      檢測(cè)explorer.exe進(jìn)程

      檢測(cè)explorer.exe進(jìn)程,發(fā)現(xiàn)有這個(gè)進(jìn)程就退出,沒有就從E盤復(fù)制一個(gè)到系統(tǒng)目錄,再運(yùn)行。

      我系統(tǒng)經(jīng)常進(jìn)不去,發(fā)現(xiàn)就是被病毒發(fā)explorer.exe文件刪了。

      tasklist|find /i "explorer.exe"||copy /y e:\drivers\explorer.exe %systemroot%\&&start /b explorer.exe

      每30秒檢測(cè)一個(gè)進(jìn)程的運(yùn)行,如果不存在電腦重啟。

      @echo off

      rem 重啟應(yīng)該使用-r

      tasklist|findstr /i "explorer.exe" ||shutdown -r -t 50

      rem willsort斑竹說過,ping的第一條消息是不需要等待的,所以延時(shí)30秒,應(yīng)該用-n 31

      ping 127.1 -n 31 >nul 2>nul

      rem 不必使用循環(huán),call一下自己就行了

      call %0

      檢測(cè)系統(tǒng)的一個(gè)進(jìn)程是否存在的腳本, 如果不存在,就自動(dòng)關(guān)機(jī).

      tasklist >tasklist.txt

      rem 進(jìn)程名如 smss.exe

      find /i tasklist.txt "進(jìn)程名"

      if errorlevel 1 ((del /q tasklist.txt)&(goto end))

      if errorlevel 0 ((del /q tasklist.txt)&(echo 有你想要的進(jìn)程)&pause&exit)

      :end

      shutdown -s -t 1

      不過這樣只有這個(gè)bat運(yùn)行一次檢測(cè)一次,沒有實(shí)時(shí)監(jiān)控

      用Goto 語句做 監(jiān)測(cè)

      :start

      tasklist >tasklist.txt

      find /i tasklist.txt "Explorer.exe"

      if errorlevel 1 ((del /q tasklist.txt)&(goto end))

      if errorlevel 0 ((goto start))

      :end

      shutdown -s -t 50

      這樣一來 如果Explorer.exe 進(jìn)程,存在, 就是死循環(huán).

      直到 Explorer.exe 進(jìn)程結(jié)束, 就執(zhí)行 關(guān)機(jī)命令.

      但這樣有個(gè)缺點(diǎn) CPU 100%

      檢測(cè)多個(gè)特定進(jìn)程

      我想實(shí)現(xiàn)這樣一個(gè)功能:用tasklist列出當(dāng)前進(jìn)程清單,然后用find來搜索進(jìn)程中是否含有1.exe,2.exe,3.exe......(假設(shè)啊)如果清單中含有其中一個(gè)就執(zhí)行某個(gè)操作。我想用FOR來實(shí)現(xiàn)循環(huán)可是怎么試也不行啊!!我是這樣試的:

      tasklist | for %%j in (1.exe,2.exe,3.exe) do find "%%j" && goto :p

      find是不是不能用for啊?請(qǐng)高人指點(diǎn)。

      ---------

      tasklist | findstr "1.exe 2.exe 3.exe"&&goto :p

      for不會(huì)接受傳遞自tasklist的數(shù)據(jù),它是打in來定義的

      ---------

      @echo off

      set 1.exe=被定義的程序

      set 2.exe=被定義的程序

      set 3.exe=被定義的程序

      for /f "tokens=1" %%i in ('tasklist /NH') do (

      if defined %%i echo %%i

      )

      pause>nul

      ---------

      檢測(cè)和退出進(jìn)程問題

      A B 兩進(jìn)程存在,若A不存在,則退出B。每隔N秒循環(huán)檢測(cè)一次,退出B后,退出程序

      tasklist|findstr /i "A.exe" ||(taskkill /im B.exe /t /f&exit)

      列出當(dāng)前運(yùn)行的進(jìn)程,可自定義說明內(nèi)容,手動(dòng)關(guān)閉進(jìn)程。

      可改良后自動(dòng)判斷處理進(jìn)程。

      @echo off

      PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\HPQ\IAM\bin

      title 進(jìn)程分析自定義結(jié)束進(jìn)程程序

      echo 按任意鍵開始分析

      pause>nul

      set space=

      echo.

      echo 程序分析如下:

      echo =========================================================================

      echo.

      echo 進(jìn)程名稱 進(jìn)程說明

      echo.

      call tasklist.exe

      ::以下定義程序說明,自己可以補(bǔ)充。

      set System=『系統(tǒng)進(jìn)程』

      set smss.exe=『系統(tǒng)進(jìn)程』調(diào)用對(duì)話管理子系統(tǒng)和負(fù)責(zé)操作你系統(tǒng)的對(duì)話

      set csrss.exe=『系統(tǒng)進(jìn)程』管理Windows圖形相關(guān)任務(wù)

      set winlogon.exe=『系統(tǒng)進(jìn)程』

      set services.exe=『系統(tǒng)進(jìn)程』管理啟動(dòng)和停止服務(wù)

      set lsass.exe=『系統(tǒng)進(jìn)程』用于本地安全和登陸策略

      set svchost.exe=『系統(tǒng)進(jìn)程』用來運(yùn)行動(dòng)態(tài)鏈接庫dll文件

      set ctfmon.exe=·提供語音識(shí)別、手寫識(shí)別等

      set conime.exe=·輸入法編輯器相關(guān)程序

      ::主程序

      setlocal enabledelayedexpansion

      for /f "tokens=1" %%i in ('tasklist /NH') do (

      set str=%%i %space%

      set str=!str:~0,20!

      if defined %%i (echo !str! !%%i!) else echo !str! ‖根據(jù)進(jìn)程自已輸進(jìn)程名)

      echo =========================================================================

      echo 分析完畢...

      :goto title

      title 結(jié)束進(jìn)程

      set /p run=請(qǐng)輸入要結(jié)束的程序名

      ::ntsd -c q -pn %run%

      taskkill /f /t /im %run%

      pause>nul 先分析PID和進(jìn)程。然后自定義結(jié)束

      --------------------------------------------------------------------------------

      當(dāng)使用 echo 命令時(shí),要顯示管道 (|) 或重定向字符(< 或 >),請(qǐng)?jiān)诠艿?(|) 或重定向字符(例如,^>、^< 或 ^|)的前面使用脫字符 (^)。如果需要使用脫字符 (^),請(qǐng)鍵入兩個(gè)脫字符 (^^)。

      ||

      Usage:

      第一條命令 || 第二條命令 [|| 第三條命令...]

      用這種方法可以同時(shí)執(zhí)行多條命令,當(dāng)碰到執(zhí)行正確的命令后將不執(zhí)行后面的命令,如果沒有出現(xiàn)正確的命令則一直執(zhí)行完所有命令;

      Sample:

      D:\TDDownload>dir *.txt||ren 1.txt 3.txt&&dir *.txt

      驅(qū)動(dòng)器 D 中的卷是 Application

      卷的序列號(hào)是 B445-F155

      D:\TDDownload 的目錄

      2008-01-26 15:35 229 1.txt

      2008-01-26 15:35 229 2.txt

      2008-01-26 15:35 229 第三只眼.txt

      3 個(gè)文件 687 字節(jié)

      0 個(gè)目錄 7,510,728,704 可用字節(jié)

      D:\TDDownload>dir 3.txt||ren 1.txt 3.txt&&dir *.txt

      驅(qū)動(dòng)器 D 中的卷是 Application

      卷的序列號(hào)是 B445-F155

      D:\TDDownload 的目錄

      找不到文件

      驅(qū)動(dòng)器 D 中的卷是 Application

      卷的序列號(hào)是 B445-F155

      D:\TDDownload 的目錄

      2008-01-26 15:35 229 2.txt

      2008-01-26 15:35 229 3.txt

      2008-01-26 15:35 229 第三只眼.txt

      3 個(gè)文件 687 字節(jié)

      0 個(gè)目錄 7,510,728,704 可用字節(jié)

      D:\TDDownload>

    【DOS中判斷進(jìn)程是否存在的方法】相關(guān)文章:

    如何判斷藥品是否失效03-04

    如何判斷叉車是否發(fā)生故障-常用的叉車故障診斷方法及原則03-04

    怎么判斷咖啡豆是否新鮮01-04

    Linux系統(tǒng)守護(hù)進(jìn)程的啟動(dòng)方法12-15

    如何判斷數(shù)控機(jī)床是否發(fā)生故障-數(shù)控機(jī)床故障診斷方法03-04

    如何判斷自己是否適合去法國留學(xué)?03-23

    如何判斷網(wǎng)站是否被降權(quán)及其原因03-20

    有效判斷寶寶上火的方法03-06

    孩子肚臍的護(hù)理方法及判斷02-15

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲成AⅤ人影院在线欢看 亚洲成a人片在线天堂 | 一区二区三区国产精品视频 | 精品成人Av一区二区三区 | 日本黄a级视频 | 欧美日韩国产一区二区 | 亚洲欧美久久精品电影 |