|
原帖由 usbzip 于 2008-9-27 14:55 发表
谢谢老九指点!
测试了一下,下面命令可以结束CMD.EXE,不会重启:
>`杀掉无用进程并删掉 X: 盘可删除文件以节省空间
>TEAM WAIT 5000|KILL SMSS.EXE|KILL WINLOGON.EXE|CMD.EXE|FILE %WS%\SMSS.EXE|F ...
1、应该是 kill cmd.exe 是消灭CMD进程啊,老大!
2、如果这个时候有其他 cmd 进程在工作,这些 cmd 进程是不是也会被中断?
3、中断外壳级别的 CMD 进程时,应该确保 EXPLORER 已经作为SHELL启动了。
事先 用WAIT 5000 等待5秒钟后(这个时间间隔有些短,我个人认为至少应该30秒),再 kill cmd.exe 自然不会重新启动了。
可以在主 CMD 脚本中执行完 PECMD MAIN PECMD.INI 后运行下面的命令
------------------------
memmonitor -pn explorer.exe -wait -ws 1 -int 10
sleep 30
exit
--------------
涉及软件 memmonitor 和 SLEEP 可以从 KIT 中得到。代码解释:
用memmonitor 监控 explorer.exe 进程,每隔10秒检测一次,直到发现EXPLORER.exe 进程才执行下一指令。监控中memmonitor 占用1k内存。当发现explorer进程后 通过sleep 30 指令实现等待30秒。然后 执行 exit 命令退出 cmd 状态.
memmonitor sleep 软件在
script1.rar
(6.99 KB, 下载次数: 80)
如果不用 memmonitor,而只用sleep + cmd循环的方式 我觉得更稳妥可靠,而且更简洁。
----------------
:loop0
sleep 20
if not exist %windir%\system32\winlogon.exe exit
goto loop0
----------------
每隔20秒 判断一次 winlogon.exe 文件是否被删除了,如果是的话,就执行 exit 退出cmd;否则,继续循环判断。
如果不进行 sleep 20 的时间间隔,循环会把cpu 拖垮。
[ 本帖最后由 dos时代菜鸟 于 2008-9-27 16:36 编辑 ] |
|