中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 14:15
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何获得一个进程的pid 号并强制杀死他 查看 3,464 回复 21
楼 主 如何获得一个进程的pid 号并强制杀死他 发表于 2007-03-29 12:50 ·  中国 上海 东方有线
新手上路
积分 14
发帖 4
注册 2007-03-22 11:33
19年会员
UID 82561
性别 男
状态 离线
现在电脑中毒了,进程为abc.exe,直接用tskill根本不杀,但是用ntsd -c q -p PID结束进程可以,现在想使用批处理实现,我是菜鸟,看了好多论坛的贴感觉还是不太好

@echo off
for /f "tokens=1,2" %%i in ('tasklist') do (
echo %%i | findstr /i "abc.exe" 1>nul 2>nul && (
ntsd -c q -p %%j & set qq=%%i
)
)
if /i not "%qq%"=="abc.exe" echo 没有中毒
echo.
pause

xp下还是可以的,不知道2000下行不行?
论坛有个
tasklist | findstr "abc.exe"&&goto :p
好险也可以套,不知道怎么作
大家帮我简化一下,我也学习一下
2 发表于 2007-03-29 13:45 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
Originally posted by lxsky at 2007-3-29 12:50:
如何获得一个进程的pid 号并强制杀死他 ...



干吗非要pid 直接ntsd -c q -pn abc.exe不行吗。
3 发表于 2007-03-29 23:50 ·  中国 上海 电信
新手上路
积分 14
发帖 4
注册 2007-03-22 11:33
19年会员
UID 82561
性别 男
状态 离线
呵呵,谢谢 2 楼,ntsd确实可以这样用
4 发表于 2007-03-30 11:52 ·  IANA 局域网IP(Private-Use)
初级用户
★★
积分 186
发帖 92
注册 2007-03-27 08:20
19年会员
UID 83047
性别 男
状态 离线
这个才是比较厉害的命令,

Taskkill /IM /F abc.exe

如果还有人说什么,只有XP的机子才能用,那么老兄,你的机子实在该淘汰了!
5 发表于 2007-03-30 12:07 ·  中国 广东 广州 电信
中级用户
★★
脚本爱好者
积分 238
发帖 93
注册 2007-03-11 13:38
19年会员
UID 81417
性别 男
来自 GZ
状态 离线
Originally posted by lp1129 at 2007-3-29 22:52:
这个才是比较厉害的命令,

Taskkill /IM /F abc.exe

如果还有人说什么,只有XP的机子才能用,那么老兄,你的机子实在该淘汰了!



无错!在XP用 taskkill 就可以,如果用:

taskkill /f /t /im abc.exe

就更利害,连其子进程都一同杀掉。
6 发表于 2007-03-30 12:35 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
若是拒绝外部中止的话,taskkill也不行,你拿kaspersky试试
7 发表于 2007-04-02 00:21 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

插一句,4楼的命令格式错误。
8 发表于 2007-04-02 00:38 ·  中国 广东 广州 联通
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
Originally posted by lp1129 at 2007-3-29 10:52 PM:
这个才是比较厉害的命令,

Taskkill /IM /F abc.exe

如果还有人说什么,只有XP的机子才能用,那么老兄,你的机子实在该淘汰了!


我还,写一个命令就要考虑到通用性。
若不支持则在该对象的机器上禁用自己的脚本。
而且现在中国,还有许多的企业还用的是windows 2000。
知,不觉多。不知,乃求知
9 发表于 2007-04-02 00:54 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
Taskkill.exe复制过去用看看
10 每1秒杀一次进程 发表于 2007-04-04 01:25 ·  中国 广东 广州 番禺区 电信
中级用户
★★
脚本爱好者
积分 238
发帖 93
注册 2007-03-11 13:38
19年会员
UID 81417
性别 男
来自 GZ
状态 离线
我记得在网上有一个终止进程的文件 inject.dll 其使用方法是(先把 inject.dll 复制到 system32 目录下):

rundll32 inject.dll,Install explorer.exe vnetclient.exe qqgame.exe ...

运行后每1秒杀一次进程 vnetclient.exe 、QQGame.exe ...,这样可以阻止启动相关进程。

此程序运行后会生成这个文件 %windir%\system32\BlackList.config ,用记事本编辑其内容即可添加或删除其中的进程。

安装:
@echo off
if exist %windir%\system32\inject.dll goto BlackList
copy /y inject.dll %windir%\system32\ >nul
if not exist %windir%\system32\inject.dll exit
rundll32 inject.dll,Install explorer.exe vnetclient.exe
:BlackList
notepad.exe %windir%\system32\BlackList.config|taskkill /f /im cmd.exe

卸载(使用前请先保存设置):
@echo off
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v inject /f
taskkill /f /im explorer.exe
ping 0 -n 2 >nul
start explorer.exe
del /f/q %windir%\system32\inject.dll
del /f/q %windir%\system32\BlackList.config

[ Last edited by axi on 2009-1-23 at 22:46 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
everest79 +8 2007-04-05 13:20
附件
inject.rar (51.2 KiB, 下载次数: 15)
11 发表于 2007-04-04 01:39 ·  中国 广西 柳州 电信
初级用户
★★
积分 168
发帖 78
注册 2006-12-27 09:58
19年会员
UID 74699
性别 男
状态 离线
开玩笑的说句``最牛的是关机
12 发表于 2007-04-04 02:16 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
20年会员
UID 48180
性别 男
状态 离线
Originally posted by axi at 2007-4-4 01:25:
我记得在网上有一个终止进程的文件 inject.dll 其使用方法是(先把 inject.dll 复制到 system32 目录下):

rundll32 inject.dll,Install explorer.exe vnetclient.exe qqga ...


这个好玩 试试看
13 发表于 2007-04-04 02:38 ·  中国 湖南 长沙 联通
贫困用户
积分 -2
发帖 20
注册 2007-01-30 23:49
19年会员
UID 78145
性别 男
状态 离线
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
NaturalJ0 -3 2007-04-04 03:05
14 发表于 2007-04-05 13:20 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
10f的好东西,不知资源占用如何
15 发表于 2007-04-05 21:46 ·  中国 广东 广州 番禺区 电信
中级用户
★★
脚本爱好者
积分 238
发帖 93
注册 2007-03-11 13:38
19年会员
UID 81417
性别 男
来自 GZ
状态 离线
多谢 everest97 兄的加分,这东西占用资源非常小,以下是关于它的一个说明:

ProcessInjector是一种DLL插入式整人软件.它能对用户自定义的黑名单上的程序加以结束任务操作.

用途:

* 防止不懂事的家伙使用IE下载Adware.(当然,是只准使用firefox浏览器的意思:) )
* 解救迷失在网络游戏的家伙
* 让进来安装"星空极速"的电信员工无功而返

本程序考虑到被整对象的电脑水平,使用了DLL插入式技术,没有实体程序,只有DLL安装到DLL宿主进程中.然而使用IceSword和Process Explorer可以很简单的发现本程序.

使用方法:
确保你把inject.dll拷贝到%SYSTEM32%目录中,在开始->运行中输入:

rundll32 inject.dll,Install <宿主>

其中宿主是你要插入的进程名(带exe扩展名).宿主可以是explorer.exe,也可以是winlogon.exe,smss.exe, conime.exe等系统关键进程.使用系统关键进程会无法结束inject.dll的活动.一旦宿主被杀死,ProcessInjector会停止运行.禁止程序列表(带exe扩展名)是将被加入到黑名单的程序名,它们将被inject.dll每秒杀1次.

注:每次安装inject.dll都会覆盖原来黑名单文件的内容.

运行此程序后会生成一个配置文件BlackList.config,并在注册表启动项中添加"inject"="rundll32 inject.dll,Install explorer.exe"). 电信员工将会遭遇到星空极速主程序"无端消失"的问题.

例子:
rundll32 inject.dll,Install explorer.exe vnetclient.exe iexplorer.exe qqgame.exe
程序将把inject.dll插入到explorer.exe进程中,加入自身到系统启动项中,建立黑名单文件%SYSTEM32%\blacklist.config,并每隔1秒把IE和QQ游戏和星空极速主程序全部杀死.程序名不分大小写.

生成的BlackList.config文件:
vnetclient.exe
iexplorer.exe
qqgame.exe

可以被实时编辑的黑名单文件:
ProcessInjector的黑名单文件(%SYSTEM32%\BlackList.config)可以被实时编辑.ProcessInjector每隔10秒重新加载一次黑名单.你可以用记事本打开黑名单文件,加入你不喜欢的程序名:)

有关资源占有率:
在我的测试环境下(赛扬M 1.4G + 512MB内存),ProcessInjector对宿主的CPU占有率影响微乎其微.

卸载:
到HKLM\Software\Microsoft\Windows\CurrentVersion\Run中寻找inject项删除.
重启后删除%SYSTEM32%\blacklist.config与%SYSTEM32%\inject.dll.(可选)

有关本软件:
本软件是免费软件.Outmatch以人格担保没有恶意代码,然而并不保证本程序会能在你的计算机上正确运行.


[ Last edited by axi on 2007-4-5 at 08:59 AM ]
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
lxmxn +10 2007-04-05 21:59
baomaboy +4 2007-04-06 05:51
论坛跳转: