今天,我观察到一个有趣的行为。我正在使用 Windows XP-sp3 操作系统。
当我在 Google Chrome 中打开一个新标签并查看任务管理器时,会创建一个新进程。
但是,一段时间后,此过程终止。
为什么它会表现出这种行为?是系统调用的原因vfork()
吗?子进程是否立即调用exec()
?
它是否只发生在谷歌浏览器或所有其他浏览器以类似方式运行?
今天,我观察到一个有趣的行为。我正在使用 Windows XP-sp3 操作系统。
当我在 Google Chrome 中打开一个新标签并查看任务管理器时,会创建一个新进程。
但是,一段时间后,此过程终止。
为什么它会表现出这种行为?是系统调用的原因vfork()
吗?子进程是否立即调用exec()
?
它是否只发生在谷歌浏览器或所有其他浏览器以类似方式运行?
AFAIK Chrome 为每个选项卡维护一个进程,也为某些插件维护一个进程。他们更喜欢多进程架构而不是多线程架构,因为当您制作始终与网络通信的网络应用程序时,您可能会收到可能导致内存混乱的数据包。因此,拥有多进程将阻止除一个进程之外的所有进程,而不是多线程会杀死选项卡。
您可以在以下博客上启发自己:
http://blog.chromium.org/2008/09/multi-process-architecture.html