中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何用批处理结束两个名字相同的进程中的一个
作者:
标题: 如何用批处理结束两个名字相同的进程中的一个 上一主题 | 下一主题
zxlxsqzy
初级用户





积分 126
发帖 47
注册 2007-7-2
状态 离线
『楼 主』:  如何用批处理结束两个名字相同的进程中的一个

我们这里的系统为了限制下载,用了个关键字屏蔽的Explorer.exe的软件
但是如果用 taskkill /f /im Explorer.exe就会连桌面进程 explorer.exe一起结束掉
想请教一下有没有什么办法只结束掉关键字进程Explorer.exe而不结束掉桌面进程explorer.exe?
我不想每次都先用tasklist找Explorer.exe的PID值

2007-7-2 17:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
AlexZhang
系统支持





积分 952
发帖 410
注册 2007-2-8
状态 离线
『第 2 楼』:  

用pid

2007-7-2 22:21
查看资料  访问主页  发短消息 网志   编辑帖子  回复  引用回复
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『第 3 楼』:  

PID是无法直接分辨两个EXPLORER的,它只是进程运行时系统随机为进程分配

的,并不代表专门的进程,所以单纯只看PID,你不会知道到底应该终止哪个

EXPLORER,但我们可以通过WMIC分析两个进程的路径判断,只要是非

C:\WINDOWS下的EXPLORER就终止该进程PID

[ Last edited by qinbuer on 2007-7-3 at 12:04 PM ]



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-7-2 22:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:  

先taskkill /f /im explorer.exe,再start %systemroot%\explorer.exe。

或者如楼上兄弟说的,查看程序的路径来判断。

2007-7-3 08:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zxlxsqzy
初级用户





积分 126
发帖 47
注册 2007-7-2
状态 离线
『第 5 楼』:  

我是在网吧上网的。
如果用taskkill /f /im  Explorer.exe 那样就会连系统的桌面进程explorer.exe也一起结束掉了,再加载explorer会造成系统托盘的计费系统的图标看不到而无法结帐。
当然我也可能先用tasklist查出Explorer.exe进程的PID值(这里系统进程和关键字屏蔽进程的名字差别只在与系统进程全小写的,,关键字屏蔽的进程第一个字母是大写的,所以可以很清楚判断哪个才是所需要结束的),然后用taskkill /f /pid +PID值来结束
可是因为系统做了很多的限制,每次都要这样查我觉得很烦。
我想请问一下的是有没有可能先用tasklist列出进程信息之后,用find的功能查找出关键字进程后的进程PID值,然后用taskkill 结束进程时调用查找出的值呢?

2007-7-3 23:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovehack2006
初级用户





积分 135
发帖 64
注册 2006-12-20
状态 离线
『第 6 楼』:  

我有一个更简单的问题,如果我发现有两个 explorer.exe 的话

就执行一个命令说,这个机子中毒了,应该怎么写呀???

LX大哥请你帮帮我!!

2008-1-22 19:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovehack2006
初级用户





积分 135
发帖 64
注册 2006-12-20
状态 离线
『第 7 楼』:  

我想过用PID是否相等来判断这个机子是否有两个explorer.exe
假如有一个的话,那么肯定是相等的,如果有两个的话,肯定是不相等的。
但是判断相等要怎么做呀?

2008-1-22 19:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 8 楼』:  

tasklist /FI "IMAGENAME eq explorer.exe"
系统是不区分大小写的。。。
所以会得到2个。。然后你findstr下(这个区别大小写)

然后自己再做你想做的。。。对了上面的可以得到PID哦

2008-1-22 19:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 9 楼』:  

这样试试
@echo off
for /f "tokens=1,2" %%i in ('tasklist /nh /FO TABLE') do (
if "%%i" == "Explorer.exe" taskkill /FI "pid eq %%j"
)
pause
taskkill /FI "pid eq %%j" 可能要加上 /f

[ Last edited by terse on 2008-1-22 at 08:02 PM ]



简单!简单!再简单!
2008-1-22 19:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovehack2006
初级用户





积分 135
发帖 64
注册 2006-12-20
状态 离线
『第 10 楼』:  

大家有没有看到我的问题呢??

我的问题是,如果我发现有两个 explorer.exe 的话,就向服务器发一个消息

说,这台机子可能中毒了。要怎么做呢???我P是个大菜鸟呀。什么不会!!

2008-1-22 22:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yichu
新手上路





积分 2
发帖 1
注册 2008-1-24
状态 离线
『第 11 楼』:  

谢谢9楼的脚本,让我隐藏指定程序进程的脚本有进展

2008-1-24 17:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: