查看: 1506|回复: 6
收起左侧

CMD中可执行的结束进程命令

[复制链接]
似水无痕
发表于 2010-6-6 15:48:27 | 显示全部楼层 |阅读模式

 

一、CMD中可执行的结束进程命令(其实是一个远程关机工具)

ntsd -c q -p pid  (pid 为进程标识符,在任务管理器中可以调出这一属性列)
例:
如explorer.exe的pid为1332,则
运行:
ntsd -c q -p 1332就能结束explorer.exe进程

ntsd -c q -pn ***.exe (***.exe 为进程名,exe不能省)
例:
运行:ntsd -c q -pn explorer.exe就结束explorer.exe进程

二、应用

因为这个命令要比任务管理器中的结束进程功能强,所以我另外做了一个进程结束器,以VB为环境,利用ntsd命令和shell函数就能搞出来了。
思路:
先创建一个批处理文件(直接让CMD接受命令变量感觉不行,而这个文件可以直接在CMD中执行),,预先写入ntsd -c q -p ,然后接受输入的pid,传送PID到BAT文件,点击按钮执行BAT文件。
因为涉及文件操作,所以要在工程中引用microsoft scripting runtime
下面是代码:

Dim ts As New FileSystemObject
Dim tf As TextStream

Private Sub Command1_Click()

Set ts = CreateObject("Scripting.FileSystemObject")

Set tf = ts.CreateTextFile("d:\1.bat")

tf.Write ("ntsd -c q -p ")  '预先写好前段命令
tf.Write (Text1.Text)     '等待写入进程PID
tf.Close

Shell "D:\1.bat", vbMinimizedFocus '最小化执行结束进程命令
Text1.Text = ""
End Sub

Private Sub Form_Unload(Cancel As Integer)
Shell "cmd /c del d:\1.bat", vbMinimizedFocus '关闭时删除临时文件
End Sub



另外一个程序,这个是用输‘进程名’并用‘winexec’来结束进程的代码:

Dim ts As New FileSystemObject
Dim tf As TextStream
Dim df As File

Private Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long


Private Sub Command1_Click()
Set ts = CreateObject("Scripting.FileSystemObject")

Set tf = ts.CreateTextFile("d:\1.bat")

tf.Write ("ntsd -c q -pn ")  '预先写好前段命令
tf.Write (Text1.Text)     '等待写入进程PID
tf.Close

WinExec "D:\1.bat", 3 '执行命令

Text1.Text = ""
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set df = ts.GetFile("d:\1.bat")
ts.DeleteFile (df) '关闭时删除临时文件,跟上面方法不一样
End Sub

其实taskkill的进程控制功能更强,不过只有WINXP以上才有。

1. wmic + process
在“开始->运行”中输入wmic命令,然后会弹出一个类似DOS窗口的界面,其命令提示符为“wmic:root\cli>”。在该命令提示符下输入process命令,就会看到系统所有进程的详细信息,下面只截取了其中前两列信息,通过输出的信息我们就可以知道各个进程对应的exe文件。

wmic:root\cli>process                                                
Caption              CommandLine                                      
System Idle Process                                                   
System                                                               
smss.exe             \SystemRoot\System32\smss.exe                    
winlogon.exe         winlogon.exe                                    
services.exe         C:\WINDOWS\system32\services.exe                 
lsass.exe            C:\WINDOWS\system32\lsass.exe                    
svchost.exe          C:\WINDOWS\system32\svchost -k DcomLaunch        
svchost.exe          C:\WINDOWS\system32\svchost -k rpcss            
svchost.exe          C:\WINDOWS\System32\svchost.exe -k netsvcs      
svchost.exe          C:\WINDOWS\system32\svchost.exe -k NetworkService
svchost.exe          C:\WINDOWS\system32\svchost.exe -k LocalService
spoolsv.exe          C:\WINDOWS\system32\spoolsv.exe                  
explorer.exe         C:\WINDOWS\Explorer.EXE                          
TSVNCache.exe        "D:\Program Files\TortoiseSVN\bin\TSVNCache.exe"
HControl.exe         "C:\WINDOWS\ATK0100\HControl.exe"               
ctfmon.exe           "C:\WINDOWS\system32\ctfmon.exe"                 
ATKOSD.exe           ATKOSD.exe                                       
svchost.exe          C:\WINDOWS\System32\svchost.exe -kbdx            
alg.exe              C:\WINDOWS\System32\alg.exe                     
TOTALCMD.EXE         "D:\Program Files\TotalCmd\TOTALCMD.EXE"         
avant.exe            "D:\Program Files\Avant Browser\avant.exe"      
conime.exe           C:\WINDOWS\system32\conime.exe                  
taskmgr.exe          taskmgr.exe                                      
wmic.exe             "C:\WINDOWS\System32\Wbem\wmic.exe"              
wmiprvse.exe         C:\WINDOWS\system32\wbem\wmiprvse.exe           


2. tasklist
在“开始->运行”中输入cmd命令,然后在弹出的DOS窗口中输入tasklist命令,此时会显示出各个进程的名称、ID号、内存使用情况等。此外tasklist命令还可以带各种参数,如使用/svc参数会显示每个进程中的服务;使用/v会显示详细信息。
使用“tasklist /?”可以查看所有的命令参数。

图像名                       PID 会话名           会话#       内存使用
========================= ====== ================ ======== ============
System Idle Process            0 Console                 0         16 K
System                         4 Console                 0        124 K
smss.exe                     588 Console                 0        456 K
csrss.exe                    644 Console                 0      4,664 K
winlogon.exe                 668 Console                 0      1,176 K
services.exe                 712 Console                 0      2,256 K
lsass.exe                    724 Console                 0      1,584 K
svchost.exe                  876 Console                 0      3,308 K
svchost.exe                  944 Console                 0      3,028 K
svchost.exe                 1040 Console                 0     11,064 K
svchost.exe                 1108 Console                 0      1,996 K
svchost.exe                 1180 Console                 0      2,344 K
spoolsv.exe                 1340 Console                 0      3,264 K
explorer.exe                1532 Console                 0     13,276 K
listen1
发表于 2010-6-6 16:21:11 | 显示全部楼层
支持
ppy0606
发表于 2010-6-6 18:10:01 | 显示全部楼层
  好东西。

PS:楼上的头衔真强
灰灰鸟
发表于 2010-6-6 20:03:35 | 显示全部楼层
支持楼主,楼主可以考虑将此整理到百问版区当中~
y0305y
头像被屏蔽
发表于 2010-6-6 21:28:55 | 显示全部楼层
难度 太高··
flcing
发表于 2010-6-6 21:31:35 | 显示全部楼层
写的少了点儿吧
listen1
发表于 2010-6-9 19:35:07 | 显示全部楼层
已经被偶转载到百问了

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2026-4-10 19:08 , Processed in 0.080858 second(s), 5 queries , Redis On.

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表