Windows终端检查程序运行的命令及脚本实现终止指定进程方法
Windows终端检查程序运行状态与终止进程脚本实现
一、终端检查程序是否运行的命令
常用的有两个命令,按需选择:
tasklist命令:配合筛选参数精准查找指定程序
检查anyprogram.exe是否运行,执行:tasklist /fi "imagename eq anyprogram.exe"程序运行时会返回进程的PID、内存占用等详细信息;未运行则提示
INFO: No tasks are running which match the specified criteria.wmic命令:语法更简洁,可直接提取关键信息
查询anyprogram.exe的进程ID和路径,执行:wmic process where name="anyprogram.exe" get processid,executablepath程序运行时会返回对应结果;无输出则表示未运行
二、编写脚本检测并终止进程
以下提供两种批处理脚本实现,直接保存为.bat或.cmd文件即可运行:
方案1:基于tasklist和taskkill的脚本
@echo off set "program=anyprogram.exe" :: 检查进程是否存在 tasklist /fi "imagename eq %program%" | find /i "%program%" >nul if %errorlevel% equ 0 ( echo 检测到%program%正在运行,准备终止... taskkill /f /im %program% echo %program%已成功终止 ) else ( echo %program%未在运行 ) pause
@echo off:关闭命令行默认回显,让输出更整洁set "program=anyprogram.exe":定义目标程序名,后续修改只需改这一行find /i "%program%" >nul:过滤tasklist结果,屏蔽输出只保留状态码taskkill /f /im %program%:/f强制终止进程,/im指定要终止的程序名
方案2:基于wmic的极简脚本
@echo off set "program=anyprogram.exe" :: 直接尝试终止进程,不存在则返回错误 wmic process where name="%program%" delete >nul 2>&1 if %errorlevel% equ 0 ( echo %program%已成功终止 ) else ( echo %program%未在运行 ) pause
wmic process ... delete:直接对匹配进程执行删除(终止)操作>nul 2>&1:屏蔽命令执行过程中的所有输出,只通过状态码判断结果
内容的提问来源于stack exchange,提问作者FeraPapaLeguas
相关产品推荐
相关产品推荐

