如何克隆自己的实例,就像Chromium一样

How to clone an instance of oneself , like Chromium does?

本文关键字:就像 Chromium 一样 实例 何克隆 自己的      更新时间:2023-10-16

当我再次启动已经启动的chromium时,我可以看到以下内容:


%> chromium浏览器在现有浏览器会话中创建新窗口。

在c++中有什么通用的方法来做类似的事情吗?还是像c++中的"new"函数一样,只是简单地克隆另一个对象?我困惑。

它与c++中的"new"完全不同:它在一个高得多的层次上。当新进程启动时,它寻找一个现有的进程,如果找到一个,它就向它发送一个命令来创建一个新窗口,然后退出。该命令的语法和性质是特定于应用程序(或应用程序框架)的,查找现有实例的机制也是如此。

一种方法是使用fork()系统调用创建一个与父进程相同的新进程。新进程将具有不同的进程id(PID)。在Chrome浏览器的情况下,如果你看看任务管理器(Windows)或'ps'命令的输出(Linux),你可以看到,一旦你打开一个新的选项卡,它是一个新的进程与新的PID。

下面的链接将有助于理解fork() http://www.yolinux.com/TUTORIALS/ForkExecProcesses.html

相关文章: