平常批处理运行的时候,有个dos窗口,很不美观,只要用个小命令就可以隐藏批处理运行了
一个非常简单的小脚本  
假设你的批处理是C:\xxx.bat  
那么在记事本里写入 
set ws=WScript.CreateObject("WScript.Shell" 
ws.Run "C:\xxx.bat",0 
保存为一个以vbs为扩展名的文件  
运行它就可以在后台运行你的批处理了
检测进程是否存在,并做出预定动作。
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存在)
------------第二个-----------
tasklist /nh|find /i "QQa.exe"
if ERRORLEVEL 1 (echo qqa.exe不存在) else (echo qqa.exe存在)
检查电脑里有没QQ.EXE进程,有则自动结束
a)、先用tasklist 输入进程列表给find ,让find找出qq.exe进程,如果找到,那执行下面的结束操作,找不到就退出bat
@echo off
tasklist|find /i "qq.exe" ||exit
taskkill /im qq.exe /f
b)、把进程列表放在A文档里面然后再用FIND查找代码:
@echo off
tasklist>C:\a.txt
find "QQ.exe" C:\a.txt&&taskkill /f /im "QQ.exe"
c)、如果不是要循环监控的话,直接taskkill。。。反正最终目的是不要有QQ进程。
每隔20秒自动检测进程列表,自动关闭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
检测explorer.exe进程
检测explorer.exe进程,发现有这个进程就退出,没有就从E盘复制一个到系统目录,再运行。
我系统经常进不去,发现就是被病毒发explorer.exe文件删了。
tasklist|find /i "explorer.exe"||copy /y e:\drivers\explorer.exe %systemroot%\&&start /b explorer.exe
每30秒检测一个进程的运行,如果不存在电脑重启。
@echo off
rem 重启应该使用-r
tasklist|findstr /i "explorer.exe" ||shutdown -r -t 50
rem willsort斑竹说过,ping的第一条消息是不需要等待的,所以延时30秒,应该用-n 31
ping 127.1 -n 31 >nul 2>nul
rem 不必使用循环,call一下自己就行了
call %0
检测系统的一个进程是否存在的脚本, 如果不存在,就自动关机.
tasklist >tasklist.txt
rem 进程名如 smss.exe
find /i tasklist.txt "进程名" 
if errorlevel 1 ((del /q tasklist.txt)&(goto end))
if errorlevel 0 ((del /q tasklist.txt)&(echo 有你想要的进程)&pause&exit)
:end 
shutdown -s -t 1
不过这样只有这个bat运行一次检测一次,没有实时监控
用Goto 语句做 监测
: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 进程,存在, 就是死循环.
直到 Explorer.exe 进程结束, 就执行 关机命令.
但这样有个缺点 CPU 100%
检测多个特定进程
我想实现这样一个功能:用tasklist列出当前进程清单,然后用find来搜索进程中是否含有1.exe,2.exe,3.exe......(假设啊)如果清单中含有其中一个就执行某个操作。我想用FOR来实现循环可是怎么试也不行啊!!我是这样试的:
tasklist | for %%j in (1.exe,2.exe,3.exe) do find "%%j" && goto :p
find是不是不能用for啊?请高人指点。
---------
tasklist | findstr "1.exe 2.exe 3.exe"&&goto :p
for不会接受传递自tasklist的数据,它是打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
---------
检测和退出进程问题
A B 两进程存在,若A不存在,则退出B。每隔N秒循环检测一次,退出B后,退出程序
tasklist|findstr /i "A.exe" ||(taskkill /im B.exe /t /f&exit)
列出当前运行的进程,可自定义说明内容,手动关闭进程。
可改良后自动判断处理进程。
@echo off 
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\HPQ\IAM\bin
title 进程分析自定义结束进程程序
echo 按任意键开始分析 
pause>nul
set space=                      
echo. 
echo 程序分析如下: 
echo ========================================================================= 
echo. 
echo 进程名称              进程说明 
echo.
call tasklist.exe 
::以下定义程序说明,自己可以补充。 
set System=『系统进程』 
set smss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话 
set csrss.exe=『系统进程』管理Windows图形相关任务 
set winlogon.exe=『系统进程』 
set services.exe=『系统进程』管理启动和停止服务 
set lsass.exe=『系统进程』用于本地安全和登陆策略 
set svchost.exe=『系统进程』用来运行动态链接库dll文件  
set ctfmon.exe=·提供语音识别、手写识别等 
set conime.exe=·输入法编辑器相关程序 
::主程序 
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! ‖根据进程自已输进程名) 
echo ========================================================================= 
echo 分析完毕... 
:goto title
title 结束进程
set /p run=请输入要结束的程序名 
::ntsd -c q -pn %run%
taskkill /f /t /im   %run% 
pause>nul       先分析PID和进程。然后自定义结束

转载自http://wt138.blog.hexun.com/28661823_d.html

转载于:https://blog.51cto.com/jsmxf/528778

实现后台检控并关闭进程的批处理相关推荐

  1. php 后台运行函数,php守护进程函数 后台执行脚本的实例详解

    我们经常通过crontab定时执行后端脚本.比如每10秒检查一下用户状态. 例子: 复制代码 代码示例: @file: /php_scripts/scan_userstatus.php #!/usr/ ...

  2. Dos命令查看端口占用及关闭进程

    Dos命令查看端口占用及关闭进程 1. 查看端口占用 在windows命令行窗口下执行: netstat -aon|findstr "8080" TCP 127.0.0.1:80 ...

  3. VC对话框禁止关闭按钮和禁止任务管理中关闭进程

    1.BOOL C***Dlg::OnInitDialog() { //禁止关闭对话框  CMenu* pMenu = this->GetSystemMenu(FALSE);  pMenu-> ...

  4. (37)0环与3环通信常规方式,PspTerminateProcess 关闭进程工具

    这节课来学习常规的通信方式,非常规方式在这里: 0环与3环通信非常规方式 -- 0环InlineHook 一.设备对象和3环窗口对象的类比 3环窗口程序中的MSG结构体和窗口对象,与0环的设备对象和I ...

  5. 查看进程命令+关闭进程

    第一步,根据端口号查找对应的进程号 1. netstat -ano | findstr 80 //列出进程极其占用的端口,且包含 80 第二步,据进程号寻找进程名称 tasklist | findst ...

  6. C# 关闭进程的时候总是捕捉到System.Threading.ThreadAbortException: 正在中止线程

    C# 关闭进程的时候总是捕捉到System.Threading.ThreadAbortException: 正在中止线程 这是由ThreadAbortException抛出的 可以写成下面的样子 tr ...

  7. 模拟windows任务管理器列举系统进程,并关闭进程......

    其实对于 windows进程的操作很简单,只要理解了 进程线程的概念 对于 进程的操作 那么就只是 几个函数的 问题了  . 下面是 对于进程操作要用到的几个函数 . 进程的概念:我们运行了一个程序, ...

  8. 详解Windows 搭建MRTG流量检控服务器

    Windows 2003   搭建MRTG流量检控服务器 Mrtg (Multi Router Traffic Grapher,MRTG) 由瑞士奥尔滕的Tobias Oetiker与Dave Ran ...

  9. inno setup安装之前关闭mysql_innosetup安装之前关闭进程

    InnoSetup覆盖安装的时候可能会因为源程序正在运行而安装失败,以下脚本能够关闭原运行进程. [code] // 安装前检查关闭**进程 function InitializeSetup():Bo ...

最新文章

  1. DBA_Oracle基本体系内存和进程结构(概念)
  2. jQuery动态操作表单
  3. vue路由跳转权限_vue权限路由实现方式总结
  4. android getdecorview 出现空指针,android – 为什么我从TabWidget得到一个空指针异常?...
  5. oracle数据库恢复参数文件位置,Oracle数据库的参数文件备份与恢复
  6. java第一章_java 第一章
  7. Python基本数据类型之字典
  8. 20200409_W_Fluid-Structure Interaction and OpenSeesPy
  9. c语言画实心圆角矩形,android 画虚线、实线,画圆角矩形,一半圆角
  10. Banner是什么意思,网站banner设计与广告怎么做?
  11. SCAFFOLD: Stochastic Controlled Averaging for Federated Learning
  12. Kindle商店请求出错怎么办?附解决办法
  13. 零基础入门金融风控-贷款违约预测_Task1
  14. 【Navicat】连接Oracle报错 ORA-12505
  15. Android模拟器检测体系梳理
  16. mysql启动原理_MySQL 启动原理剖析
  17. LuoguP2472 SCOI2007 蜥蜴
  18. 谨慎使用Encoding.Default
  19. 通讯数据指示灯的C语言程序6,这些关于PLC的经典问答,你必须知道
  20. 2000-2019年各省市场化指数(樊纲、王小鲁)

热门文章

  1. MySQL的binary类型操作
  2. echo 和 var_dump
  3. 推荐一本好书《改变,从阅读开始》
  4. oracle数据库结束进程后怎么重启,Oracle数据库的启动与关闭方法
  5. wordpress wpdb-update 能获取更新的id嘛?_WordPress 投稿页上传图片,支持游客上传
  6. DPI — nDPI — 安装部署与应用示例
  7. Spring MVC 拦截器
  8. HDU 5785 interesting
  9. 关于matlab中的梯度使用
  10. Web服务器 Web容器 Servlet容器