在 IE8 中 如何知道知道哪个tab是在那个ie进程中的 SCODEF
这里提供一些信息供理解IE8中的松散耦合处理方式。
由于IE8的LCIE更新, 现在比较难知道当前的tab是哪个iexplore.exe在处理。 如果你在用vista以上的系统, 任务管理器里有两列可以提供信息,分别是 commandline 和 pid, 如果这两列被启用的话, 可以在任务管理器看到这样的进程:
iexplorer.exe 872 “c:\program files\Internet Explorer\iexplore.exe” SCODEF:2688 CREDAT:71937
iexplorer.exe 2688 “c:\program files\Internet Explorer\iexplore.exe”
当我打开IE主页的时候, 我却能在任务管理器看到两个进程, 下面的那个是第一个进程(框架进程),一开始点了IE的快捷方式, 启动的就是它了。 列在上面的那个进程是子进程(tab进程),它将加载我的IE主页。 现在我再开一个tab, 进程列表变化成下面这样:
iexplorer.exe 872 “c:\program files\Internet Explorer\iexplore.exe” SCODEF:2688 CREDAT:71937
iexplorer.exe 2688 “c:\program files\Internet Explorer\iexplore.exe”
iexplorer.exe 5440 “c:\program files\Internet Explorer\iexplore.exe” SCODEF:2688 CREDAT:6492
有3个iexplorer.exe进程了, 我仅仅是打开了一个tab。 注意看有两个进程都提到了一个数, 2688, 区别是这样的:
1. 第一个启动进程的pid是2688
2. 第一个IE自己加载的tab, 进程命令行参数是 SCODEF:2688 CREDAT:71937
3. 第二个我打开的tab, 进程命令行参数是 SCODEF:2688 CREDAT:6492
简单说就是每个tab都有一个进程标识自己,SCODEF 参数的意思是说,当前这个tab的子进程, 他是在哪一个浏览器窗口里显示的。
所以只要看任务管理器的进程, 就有办法知道是哪个tab的了。 不过没有特直接的方法。 有个软件叫Process Explorer, 用软件的一个查找功能, 然后拖到tab上, 你就可以知道这个tab所属进程的pid了。