Board logo

标题: 能不能让系统只允许指定进程运行!! [打印本页]

作者: wmysbbs     时间: 2007-2-11 08:40    标题: 能不能让系统只允许指定进程运行!!

有些类似以下这个批处理,可自定义添加可运行的进程,查到多余进程立即结束!



echo off
color 1f  
title 进程分析程序
set space=                       
echo.
echo 程序分析如下:
echo =========================================================================
echo.
echo 进程名称              进程说明
echo.

::以下定义程序说明,自己可以补充。
set System=『系统进程』
set smss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话
set csrss.exe=『系统进程』管理Windows图形相关任务
set winlogon.exe=『系统进程』
set services.exe=『系统进程』管理启动和停止服务
set lsass.exe=『系统进程』用于本地安全和登陆策略
set svchost.exe=『系统进程』用来运行动态链接库dll文件
set CCenter.exe=·瑞星信息中心
set RavMonD.exe=·瑞星监控程序
set rfwsrv.exe=·瑞星个人防火墙相关程序
set spoolsv.exe=『系统进程』打印服务
set RavStub.exe=·瑞星杀毒软件相关程序
set wdfmgr.exe=·MP10播放器的相关程序
set explorer.exe=·负责显示系统桌面的图标,任务栏等
set RfwMain.exe=·瑞星防火墙主程序
set RavTask.exe=·瑞星定时杀毒程序
set RavMon.exe=·瑞星监控程序
set SOUNDMAN.EXE=·Realtek声卡相关程序
set realsched.exe=·RealPlayer自动升级程序
set ctfmon.exe=·提供语音识别、手写识别等
set conime.exe=·输入法编辑器相关程序
set QQ.exe=·腾讯QQ

::主程序
setlocal enabledelayedexpansion
for /f "tokens=1" %%i in ('tasklist /NH') do (
   set str=%%i %space%
   set str=!str:~0,20!
   if defined %%i (echo !str! !%%i!) else echo !str! ‖→未定义程序)
echo =========================================================================
echo 分析完毕...

pause>nul

[ Last edited by namejm on 2007-2-11 at 01:58 AM ]
作者: slore     时间: 2007-2-11 08:43
else taskkill /F /IM %%i  /T?
作者: wmysbbs     时间: 2007-2-11 08:54
谢谢楼上的回答!
我刚学不久!!
这些命令运用的不是很熟练!!
能告诉这句是什么意思吗?
知道原因很重要,不想总抄别人的东西!
作者: slore     时间: 2007-2-11 09:28
c:\>taskkill /?

TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

描述:
    这个命令行工具可用来结束至少一个进程。
    可以根据进程 id 或图像名来结束进程。

参数列表:
    /S    system           指定要连接到的远程系统。

    /U    [domain\]user    指定应该在哪个用户上下文
                           执行这个命令。

    /P    [password]       为提供的用户上下文指定
                           密码。如果忽略,提示输入。

    /F                     指定要强行终止
                           进程。

    /FI   filter           指定筛选进或筛选出查询的
                           的任务。

    /PID  process id       指定要终止的进程的
                           PID。

    /IM   image name       指定要终止的进程的
                           图像名。通配符 '*'
                           可用来指定所有图像名。

    /T                     Tree kill: 终止指定的进程
                           和任何由此启动的子进程。

    /?                     显示帮助/用法。

筛选器:
    筛选器名      有效运算符                有效值
    -----------   ---------------           --------------
    STATUS        eq, ne                    运行 | 没有响应
    IMAGENAME     eq, ne                    图像名
    PID           eq, ne, gt, lt, ge, le    PID 值
    SESSION       eq, ne, gt, lt, ge, le    会话编号
    CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                            hh:mm:ss。
                                            hh - 时,
                                            mm - 钟,ss - 秒
    MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用,单位为 KB
    USERNAME      eq, ne                    用户名,格式为
                                            [domain\]user
    MODULES       eq, ne                    DLL 名
    SERVICES        eq, ne                    服务名
    WINDOWTITLE     eq, ne                    窗口标题

注意: 只有带有筛选器的情况下,才能跟 /IM 切换使用通配符 '*'。

注意: 远程进程总是要强行终止,
      不管是否指定了 /F 选项。

例如:
    TASKKILL /S system /F /IM notepad.exe /T
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM notepad.exe /IM mspaint.exe
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
    TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
作者: bjanwxf     时间: 2007-2-13 05:26
正需要,收藏学习
作者: huzixuan     时间: 2007-2-13 05:51
@echo off
color 1f  
title 进程分析程序
set space=                       
echo.
echo 程序分析如下:
echo =========================================================================
echo.
echo 进程名称              进程说明
echo.

::以下定义程序说明,自己可以补充。
set System=『系统进程』
set smss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话
set csrss.exe=『系统进程』管理Windows图形相关任务
set winlogon.exe=『系统进程』
set services.exe=『系统进程』管理启动和停止服务
set lsass.exe=『系统进程』用于本地安全和登陆策略
set svchost.exe=『系统进程』用来运行动态链接库dll文件
set CCenter.exe=·瑞星信息中心
set RavMonD.exe=·瑞星监控程序
set rfwsrv.exe=·瑞星个人防火墙相关程序
set spoolsv.exe=『系统进程』打印服务
set RavStub.exe=·瑞星杀毒软件相关程序
set wdfmgr.exe=·MP10播放器的相关程序
set explorer.exe=·负责显示系统桌面的图标,任务栏等
set RfwMain.exe=·瑞星防火墙主程序
set RavTask.exe=·瑞星定时杀毒程序
set RavMon.exe=·瑞星监控程序
set SOUNDMAN.EXE=·Realtek声卡相关程序
set realsched.exe=·RealPlayer自动升级程序
set ctfmon.exe=·提供语音识别、手写识别等
set conime.exe=·输入法编辑器相关程序
set QQ.exe=·腾讯QQ

::主程序
setlocal enabledelayedexpansion




:close
set d=0
set a=0
>tlist.txt echo\
cls&title "进程关闭"
mode con: cols=110 lines=47
for /f "tokens=1" %%i in ('tasklist') do (
set /a d+=1
if !d! gtr 2 (
set /a a+=1
echo !a!. %%i>>tlist.txt
   set str=%%i %space%
   set str=!a!.!str:~0,20!
   if defined %%i (echo !str! !%%i!) else (echo !str! ‖→还未定义程序) ))
echo ======================================================================================
echo.
set /p kill=输入你要 Kill 的序号:(按t返回主菜单.按q退出):
if %kill% equ t goto start
if %kill% equ q goto :eof
for /f "tokens=1,2 skip=%kill% delims= " %%j in ('type tlist.txt') do (
taskkill /im %%k /f
pause>nul
goto close)
作者: slore     时间: 2007-2-13 06:03
直接加 taskkill /F /IM %%i  /T
if defined %%i (echo !str! !%%i!) else echo !str! 未定义程序 && taskkill /F /IM %%i  /T
作者: vkill     时间: 2007-2-13 06:05
还不如直接用reg 来禁止