楼 主
[求助]怎样彻底清除进程?
发表于 2008-12-01 17:28 · 中国 云南 丽江 古城区 电信
初级用户
★★
积分 93 发帖 57 注册 2007-03-12 12:04 19年会员 UID 81503 性别 男
状态 离线
我的服务器上有一个进程A,想让它重新启动。
我想先把它杀死!再重启进程。
请高手们帮忙啦!
转移自 DOS批处理 & 脚本技术(批处理室)
如果是和具体批处理技术无关的话还是应该发到对于版块
——管理员
第 2 楼
发表于 2008-12-01 17:59 · 中国 云南 丽江 古城区 电信
初级用户
★★
积分 93 发帖 57 注册 2007-03-12 12:04 19年会员 UID 81503 性别 男
状态 离线
杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式,不然下次重启它又出来了。顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程:
c:\>ntsd -c q -p PID
只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd 从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用 -c参数从命令行传递就行了。NtsdNtsd
按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息,请参阅 NTSD 中所附的帮助文件。
开个cmd.exe窗口,输入:
ntsd -c q -p PID
把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器->进程选项卡->查看->选择列->勾上"PID(进程标识符)",然后就能看见了。
第 3 楼
发表于 2008-12-01 18:00 · 中国 云南 丽江 古城区 电信
初级用户
★★
积分 93 发帖 57 注册 2007-03-12 12:04 19年会员 UID 81503 性别 男
状态 离线
第 4 楼
RE 3楼
发表于 2008-12-01 18:19 · 中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
@echo off
set IMAGENAME=cmd.exe
for /f "skip=2 tokens=2" %%a in ('tasklist /FI "IMAGENAME eq %IMAGENAME%" /FO LIST') do (
set "PID=%%a" & goto next
)
:next
echo 进程 %IMAGENAME% 的 PID 是: %PID%
pause
第 5 楼
发表于 2008-12-01 23:40 · 中国 云南 丽江 古城区 电信
初级用户
★★
积分 93 发帖 57 注册 2007-03-12 12:04 19年会员 UID 81503 性别 男
状态 离线
tasklist 需在WINXP以上系统中能使用!
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正