C++ 如何像Chromium那样克隆自己的一个实例?

C++ 如何像Chromium那样克隆自己的一个实例?,c++,singleton,instance,C++,Singleton,Instance,当我在chromium已经启动时再次启动它时,我可以看到以下内容: %>铬浏览器 在现有浏览器会话中创建了新窗口 C++有什么通用的方法来做类似的事情吗?还是像C++中的新函数一样,简单地克隆另一个对象?我很困惑。这与C++中的新功能完全不同:它的级别要高得多。当新进程启动时,它会查找现有进程,如果找到一个,它会向其发送一个命令以创建一个新窗口,然后退出。该命令的语法和性质是特定于应用程序或应用程序框架的,找到现有实例的机制也是如此。它与C++中的新命令完全不同:它的级别要高得多。当新进程启动

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

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


<> C++有什么通用的方法来做类似的事情吗?还是像C++中的新函数一样,简单地克隆另一个对象?我很困惑。

这与C++中的新功能完全不同:它的级别要高得多。当新进程启动时,它会查找现有进程,如果找到一个,它会向其发送一个命令以创建一个新窗口,然后退出。该命令的语法和性质是特定于应用程序或应用程序框架的,找到现有实例的机制也是如此。

它与C++中的新命令完全不同:它的级别要高得多。当新进程启动时,它会查找现有进程,如果找到一个,它会向其发送一个命令以创建一个新窗口,然后退出。该命令的语法和性质特定于应用程序或应用程序框架,以及查找现有实例的机制。

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

以下链接有助于理解fork


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

以下链接有助于理解fork


更多细节:一种常见的方法是将正在运行的进程的PID存储在/tmp/my_app_name中的某个位置。重新启动应用程序时,它会在此位置查找PID,并联系关联的进程。更多详细信息:一种常见的方法是将正在运行的进程的PID存储在/tmp/my_app_name中的某个位置。当重新启动应用程序时,它会在该位置查找PID,并联系相关进程。是什么让您认为有任何东西正在被克隆?克隆意味着曾经有一件东西,现在有了第二件,完全相同的复制品。那不是你所描述的。克隆浏览器实例意味着您将获得第二组选项卡,同样,在第一个浏览器窗口中添加这些选项卡。是什么让您认为有任何东西正在被克隆?克隆意味着曾经有一件东西,现在有了第二件,完全相同的复制品。那不是你所描述的。克隆浏览器实例意味着您将获得第二组选项卡,与在第一个浏览器窗口中添加这些选项卡相同。