CMD下查看进程 如果打不开任务管理器和注册表编辑器的话必须这么做,能直接打开任务管理器然后结束它更好)能直接打开任务管理器和注册表的话直接打开。
开始菜单-运行-输入CMD命令打开CMD窗口;
输入命令tasklist回车查看一下
有进程如:svohostexe(虽然他禁用了任务管理器,但在CMD下用tasklist命令还是可以查看到进程信息的)。
二、 cmd下结束进程的方法 2008-10-30 14:09 1 taskkill (s / system, u / username, p / password, fi / fitel , pid / processid, im /imagename, /f /t/S system 指定要连接到的远程系统/U [domain\]user 指定应该在哪个用户上下文执行这个命令。/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入/F 指定要强行终止进程/FI filter 指定筛选进或筛选出查询的任务/PID process id 指定要终止的进程的PID/IM image name 指定要终止的进程的图像名/T Tree kill: 终止指定的进程和任何由此启动的子进程实例:Taskkill /s server /u administrator /p /f /im hldsexe强行终止server上的hldsexe(正在运行的CS服务器)2 ntsd在一台正常的专业版XP里,打开cmd,出现命令提示窗口。首选用tasklist或是任务管理器或是其他软件查出想要结束进程的ID,然后利用ntsd -c q -p PID就可以搞定这个进程了。
要让我说理由,我对这个说不大清楚,网上找了一下资料说
ntsd -c q -p PID
PID说的是进程的进程号。进程号可以在任务管理器里查
debug权限是向方便开发人员提供的一个调试,只有系统开发人员使用此命令
运行ntsd自动就获得了debug权限,从而能杀掉大部分的进程。
这样也就是说,理论上除了System、SMSSEXE和CSRSSEXE不能杀,因为ntsd依赖它们。你看情况给我最优吧。
@echo off
:1
tasklist | find "notepadexe" >>c:\notepadluowei
if exist c:\notepadluowei taskkill /f /im notepadexe
ping 1271 -n 20 >nul 2>nul
goto 1
每隔20秒自动检测进程列表,自动关闭notepadexe。参考上面的
2个方法:
1:
wmic process where name='QQexe' call terminate
2:
taskkill /f /t /im QQexe
1比2更强大,一般上面2个结合一起用最好了,
因为有时候一个是结束不掉的,特别是进程里有进程(树)
当然每次都要改QQexe很麻烦,下面是我自己写的批处理代码,保护系统必要进程而结束所有应用进程,比重启电脑还干净,非常实用:
:::::::::::::::::::::::::::::::::::::settaskbat文件内容::
title 进程清理 %date%
@echo off
:start
setlocal enabledelayedexpansion
call setcolor
Tasklist /svc
echo ^|===========================================================^|
wmic process get executablepath
echo ^|===========================================================^|
set dotaskkill=yes
for /f "skip=3 delims=" %%i in ('wmic process get executablepath') do (
set kbuf=%%i
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
set kbuf=!kbuf:\=!
call :killtask !kbuf!
)
pause>nul
endlocal
goto last
:killtask
::----------------------------------------------------
if /i "%1"=="csrssexe" set dotaskkill=no
if /i "%1"=="lsassexe" set dotaskkill=no
if /i "%1"=="servicesexe" set dotaskkill=no
if /i "%1"=="smssexe" set dotaskkill=no
if /i "%1"=="spoolsvexe" set dotaskkill=no
if /i "%1"=="svchostexe" set dotaskkill=no
if /i "%1"=="winlogonexe" set dotaskkill=no
::----------------------------------------------------
if /i "%1"=="zhudongfangyuexe" set dotaskkill=no
if /i "%1"=="360sdexe" set dotaskkill=no
if /i "%1"=="360rpexe" set dotaskkill=no
::----------------------------------------------------
if /i "%1"=="explorerexe" set dotaskkill=no
if /i "%1"=="cmdexe" set dotaskkill=no
::----------------------------------------------------
if "%dotaskkill%"=="yes" (
echo ----------------------------------------------------------------
wmic process where name='%1' call terminate
taskkill /f /t /im %1
echo 已经关闭进程%1
echo ----------------------------------------------------------------
)
if "%dotaskkill%"=="no" (
echo 进程%1被zhoup设定为保护
)
set dotaskkill=yes
goto :eof
:last
::::::::::::::::::::::::::::结束了
(保存后看看有没有换行地方没做好,因为我来回答:给的宽度和记事本里的宽度不一样,可能出现编码方式导致换行不对)
@echo off
start cmdexe
if "c"=="%1" goto begin
copy %systemroot%\system32\cmdexe %tmp%\cdmexe
start %tmp%\cdmexe /c call %0 c&exit
)
:begin
tasklist|findstr /i "CMDEXE"||taskkill /f /im "AAAEXE"
tasklist|findstr /i "AAAEXE" &&(
taskkill /f /im "BBBEXE"
taskkill /f /im "CCCEXE"
)
ping /n 1 1271>nul
goto begin
其实可以不产生一个CMD进程的,但是如果要实现你要求的,那就给你产生一个CMD进程咯。~~~~
你可以这样
for /f "delims= " %%i in ('tasklist^|find /i "qqexe"') do (
if /i "%%i"=="qqexe" call cmd)如果是在批处理中运行就用%%i在CMD中就用%i他会检查进程中是否有QQexe如果有就运行CMD
vbs 代码
msgbox "正在后台检测中",32+32,"提示"
wscriptcreteobject("wscriptshell")run "1bat",0
-------------这是隐藏到后台检测
@echo off&setlocal enabledelayedexpansion
cd>1txt
for /f "skip=3 tokens=1 delims= " %%1 in ('tasklist')do echo %%1>>1txt
:s
set a=0
set b=0
for /f "skip=3 tokens=1 delims= " %%1 in ('tasklist')do set/a b+=1
for /f "delims=" %%1 in ('type 1txt')do set/a a+=1
if /i "!a!" neq "!b!" (set c=有新的进程)else goto s
echo msgbox "!c!",32+32,"提示">tmpvbs&tmpvbs&del tmpvbs
exit
------------最好保存为1bat 然后启动 上面的vbs程序
bat程序里的命令是需要在command程序中运行的,所以进程名是cmdexe,这是正确的
如果你想看具体调用的什么内容,那在bat程序上右键,选编辑,就看到详细内容了
以上就是关于cmd命令怎么获取某个具体的进程pid全部的内容,包括:cmd命令怎么获取某个具体的进程pid、命令行获取PID并杀死进程的bat脚本怎么写、bat怎么统计指定进程名得进程个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)