分享

结束watchclient.exe及其相关子进程...

 shxyxz 2010-10-22
近日客户反映登录公司的系统时常有IE卡死现象发生,经与客户沟通他们是在打开调用了ActiveX控件的页面时遇到的。检查后台日志、网络情况、客户安装的软件没发现异常。在网上搜索了之后看到有人也遇到过类似的现象,并提到了watchclient.exe这个进程。于是到客户机子上查看,确实发现了watchclient.exe这个进程,于是准备结束掉此进程及其子进程。但使用windows的进程管理器杀掉其中的任一个进程后,被杀的进程又会死灰复燃。又百度了一阵,网上提到的使用No1PV、金山毒霸都不奏效。最后想到了使用windows自己的命令干掉它。并最终解决了此问题。
批处理命令中有taskkill这个命令用于杀掉正在运行的进程,具体用法可以在CMD窗口中敲入taskkill /?了解
具体做法是:
1、新建一空白txt文本文件,在其中输入
taskkill /f /im watchclient.exe -t
2、改文档的后缀为.bat就是一个批处理文件了
3、在windows的“开始”-“所有程序”-“启动”,右键点击“启动”,选择打开资源管理器,将刚做的批处理文件放进去,重启电脑即可在电脑启动时杀掉watchclient及其子进程
说明:
我使用了taskkill命令的-T参数,意思是杀掉该进程及其所有子进程,批处理中的语句的解析如下:
其中/f表示强制杀掉,/im表示映像名称(打开windows进程管理器,第一列即是,在此不区分大小写),-t表示杀掉watchclient.exe及其子进程

但是,有时候用-t参数还是杀不了它,这时要用/pid指定要杀进程的pid可彻底杀掉进程,在进程管理器-“查看”-“选择列”把PID列放开即可看到每个进程的pid。如果你觉得这样麻烦则可使用下面批处理文件来完成操作,你只需双击它即可(我同时上传在附件中了)。
“killWatchclient.bat”:
set str=taskkill -f

for /f "tokens=2 delims= " %%i in ('tasklist /nh^|find "vrvrf_c.exe"') do set str=%str% /pid %%i

for /f "tokens=2 delims= " %%i in ('tasklist /nh^|find "vrvsafec.exe"') do set str=%str% /pid %%i

for /f "tokens=2 delims= " %%i in ('tasklist /nh^|find "vrvedp_m.exe"') do set str=%str% /pid %%i

for /f "tokens=2 delims= " %%i in ('tasklist /nh^|find "watchclient.exe"') do set str=%str% /pid %%i

echo %str%
echo ok
pause
关于for语句的解析请先在网上搜索,后续如果有时间我再进行补充。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多