我正在使用 Mac。我有一个 c++ 应用程序,例如名为 myapp。通常我可以通过 ./myapp 调用应用程序。
myapp 应用程序能够处理图像并返回一些文本结果。实际上 myapp 应用程序一开始总是要分配大量内存,所以如果我必须多次运行它会有点慢。
现在我想这样做
myapp 将作为始终运行的服务运行。我将在一开始就通过 ./myapp 启动 myapp。
当我有要处理的图像时,我只想输入类似 ./myapp arg1 arg2 的内容,在这里我不想启动一个新进程,我想将新参数传递给已经运行的应用程序并返回结果。
为了实现它,我该怎么做?我知道 myapp 必须包含一个等待请求的 while 循环。但是如何在运行时多次传递参数?
/* 它类似于 ngix 服务器。一开始你输入 ngix 启动服务,在它运行的时候,你仍然可以通过“ngix 参数”传递参数,这个命令不会创建一个新进程。*/
/* 实际上我有一个 C++ 图像处理应用程序和一个 python http 服务器。现在我要做的是,当 python 服务器从客户端接收到图像时,我通过 ./myapp imagelocation 启动一个新进程。myapp 将处理结果返回到命令行,python 通过 "os.popen("./myapp imagelocation,"r").read().strip()" 捕获它。但正如我所说,C++ 应用程序需要太多时间初始化,所以我只想初始化一次,一旦我有图像,我只需将图像传递给 c++ 应用程序。当然我知道我可以让 C++ 应用程序检查是否保存了新图像,并调用方法。但是这样,我不能告诉python应用程序结果*/