时间:2021-05-22
检测进程是否存在,并做出预定动作。
tasklist/nh>d:\tddown~1\1.txt
find/i"QQ.exe"d:\tddown~1\1.txt
ifERRORLEVEL1(echoqq.exe不存在)else(echoqq.ex存在)
------------第二个-----------
tasklist/nh|find/i"QQa.exe"
ifERRORLEVEL1(echoqqa.exe不存在)else(echoqqa.exe存在)
检查电脑里有没QQ.EXE进程,有则自动结束
a)、先用tasklist输入进程列表给find,让find找出qq.exe进程,如果找到,那执行下面的结束操作,找不到就退出bat
@echooff
tasklist|find/i"qq.exe"||exit
taskkill/imqq.exe/f
b)、把进程列表放在A文档里面然后再用FIND查找代码:
@echooff
tasklist>C:\a.txt
find"QQ.exe"C:\a.txt&&taskkill/f/im"QQ.exe"
c)、如果不是要循环监控的话,直接taskkill。。。反正最终目的是不要有QQ进程。
每隔20秒自动检测进程列表,自动关闭notepad.exe。
@echooff
:1
tasklist|find"notepad.exe">>c:\notepad.luowei
ifexistc:\notepad.luoweitaskkill/f/imnotepad.exe
ping127.1-n20>nul2>nul
goto1
检测explorer.exe进程
检测explorer.exe进程,发现有这个进程就退出,没有就从E盘复制一个到系统目录,再运行。
我系统经常进不去,发现就是被病毒发explorer.exe文件删了。
tasklist|find/i"explorer.exe"||copy/ye:\drivers\explorer.exe%systemroot%\&&start/bexplorer.exe
每30秒检测一个进程的运行,如果不存在电脑重启。
@echooff
rem重启应该使用-r
tasklist|findstr/i"explorer.exe"||shutdown-r-t50
remwillsort斑竹说过,ping的第一条消息是不需要等待的,所以延时30秒,应该用-n31
ping127.1-n31>nul2>nul
rem不必使用循环,call一下自己就行了
call%0
检测系统的一个进程是否存在的脚本,如果不存在,就自动关机.
tasklist>tasklist.txt
rem进程名如smss.exe
find/itasklist.txt"进程名"
iferrorlevel1((del/qtasklist.txt)&(gotoend))
iferrorlevel0((del/qtasklist.txt)&(echo有你想要的进程)&pause&exit)
:end
shutdown-s-t1
不过这样只有这个bat运行一次检测一次,没有实时监控
用Goto语句做监测
:start
tasklist>tasklist.txt
find/itasklist.txt"Explorer.exe"
iferrorlevel1((del/qtasklist.txt)&(gotoend))
iferrorlevel0((gotostart))
:end
shutdown-s-t50
这样一来如果Explorer.exe进程,存在,就是死循环.
直到Explorer.exe进程结束,就执行关机命令.
但这样有个缺点CPU100%
检测多个特定进程
我想实现这样一个功能:用tasklist列出当前进程清单,然后用find来搜索进程中是否含有1.exe,2.exe,3.exe......(假设啊)如果清单中含有其中一个就执行某个操作。我想用FOR来实现循环可是怎么试也不行啊!!我是这样试的:
tasklist|for%%jin(1.exe,2.exe,3.exe)dofind"%%j"&&goto:p
find是不是不能用for啊?请高人指点。
---------
tasklist|findstr"1.exe2.exe3.exe"&&goto:p
for不会接受传递自tasklist的数据,它是打in来定义的
---------
@echooff
set1.exe=被定义的程序
set2.exe=被定义的程序
set3.exe=被定义的程序
for/f"tokens=1"%%iin('tasklist/NH')do(
ifdefined%%iecho%%i
)
pause>nul
---------
检测和退出进程问题
A B 两进程存在,若A不存在,则退出B。每隔N秒循环检测一次,退出B后,退出程序
tasklist|findstr/i"A.exe"||(taskkill/imB.exe/t/f&exit)
列出当前运行的进程,可自定义说明内容,手动关闭进程。
可改良后自动判断处理进程。
@echooff
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\ProgramFiles\HPQ\IAM\bin
title进程分析自定义结束进程程序
echo按任意键开始分析
pause>nul
setspace=
echo.
echo程序分析如下:
echo=========================================================================
echo.
echo进程名称进程说明
echo.
calltasklist.exe
::以下定义程序说明,自己可以补充。
setSystem=『系统进程』
setsmss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话
setcsrss.exe=『系统进程』管理Windows图形相关任务
setwinlogon.exe=『系统进程』
setservices.exe=『系统进程』管理启动和停止服务
setlsass.exe=『系统进程』用于本地安全和登陆策略
setsvchost.exe=『系统进程』用来运行动态链接库dll文件
setctfmon.exe=·提供语音识别、手写识别等
setconime.exe=·输入法编辑器相关程序
::主程序
setlocalenabledelayedexpansion
for/f"tokens=1"%%iin('tasklist/NH')do(
setstr=%%i%space%
setstr=!str:~0,20!
ifdefined%%i(echo!str!!%%i!)elseecho!str!‖根据进程自已输进程名)
echo=========================================================================
echo分析完毕...
:gototitle
title结束进程
set/prun=请输入要结束的程序名
::ntsd-cq-pn%run%
taskkill/f/t/im%run%
pause>nul先分析PID和进程。然后自定义结束
--------------------------------------------------------------------------------
当使用echo命令时,要显示管道(|)或重定向字符(<或>),请在管道(|)或重定向字符(例如,^>、^<或^|)的前面使用脱字符(^)。如果需要使用脱字符(^),请键入两个脱字符(^^)。
||
Usage:
第一条命令||第二条命令[||第三条命令...]
用这种方法可以同时执行多条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;
Sample:
D:\TDDownload>dir*.txt||ren1.txt3.txt&&dir*.txt
驱动器D中的卷是Application
卷的序列号是B445-F155
D:\TDDownload的目录
2008-01-2615:352291.txt
2008-01-2615:352292.txt
2008-01-2615:35229第三只眼.txt
3个文件687字节
0个目录7,510,728,704可用字节
D:\TDDownload>dir3.txt||ren1.txt3.txt&&dir*.txt
驱动器D中的卷是Application
卷的序列号是B445-F155
D:\TDDownload的目录
找不到文件
驱动器D中的卷是Application
卷的序列号是B445-F155
D:\TDDownload的目录
2008-01-2615:352292.txt
2008-01-2615:352293.txt
2008-01-2615:35229第三只眼.txt
3个文件687字节
0个目录7,510,728,704可用字节
D:\TDDownload>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
利用Hyperic调用Python,实现进程守护,供大家参考,具体内容如下调用操作系统方法获取进程信息,判断进程是否存在,Linux和Windows均支持,区别
一、SqlServer中如何判断表中某列是否存在首先跟大家分享SqlServer中判断表中某列是否存在的两个方法,方法示例如下:比如说要判断表A中的字段C是否存
Linux如何使用if判断目录是否存在方法如下:1、脚本中使用if判断目录是否存在的方法#!/bin/bashif[-d"c"];thenecho"目录c存在"
我这里总结了判断记录是否存在的常用方法:sql语句:selectcount(*)fromtablename;然后读取count(*)的值判断记录是否存在。对于这
我这里总结了判断记录是否存在的常用方法:sql语句:selectcount(*)fromtablename;然后读取count(*)的值判断记录是否存在。对于这