将命令行传递给正在运行的应用程序
问题描述:
我试图用Google在我的问题上搜索答案,但没有找到任何信息。所以我需要:我启动我的应用程序包。当应用程序正在运行时,我键入终端open /Application/MyApp.app --args <some_args>
并且运行的应用程序得到了这个<some_args>
。可能吗?将命令行传递给正在运行的应用程序
这是一个Qt5应用程序。最好的解决方案将是Qt5本机。但是任何Objective-C的方式也不错。
答
这样做的一种方法是在已运行的应用程序实例和新启动的实例之间建立通信通道。
例如,应用程序可以在启动时创建一个QLocalServer
并尝试在其上尝试listen()
。
如果有效,它是第一个实例,可以继续启动。 如果没有,它可以打开QLocalSocket
与正在运行的实例进行通信并发送其参数。已经运行的应用程序可以响应传入的连接,检索参数并处理它们。