中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » 其它操作系统综合讨论区 » [求助]怎样彻底清除进程?
作者:
标题: [求助]怎样彻底清除进程? 上一主题 | 下一主题
ruisoft
初级用户





积分 93
发帖 57
注册 2007-3-12
状态 离线
『楼 主』:  [求助]怎样彻底清除进程?

我的服务器上有一个进程A,想让它重新启动。

我想先把它杀死!再重启进程。

请高手们帮忙啦!



转移自 DOS批处理 & 脚本技术(批处理室)
如果是和具体批处理技术无关的话还是应该发到对于版块
——管理员


2008-12-1 17:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ruisoft
初级用户





积分 93
发帖 57
注册 2007-3-12
状态 离线
『第 2 楼』:  

杀进程很容易,随便找个工具都行。比如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(进程标识符)",然后就能看见了。

2008-12-1 17:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ruisoft
初级用户





积分 93
发帖 57
注册 2007-3-12
状态 离线
『第 3 楼』:  

如何获取一个进程的PID值?

2008-12-1 18:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 4 楼』:  RE 3楼


@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


2008-12-1 18:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ruisoft
初级用户





积分 93
发帖 57
注册 2007-3-12
状态 离线
『第 5 楼』:  

tasklist 需在WINXP以上系统中能使用!

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

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


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



论坛跳转: