某些操作系统支持的功能,允许一个进程与另一个进程通信。这些进程可以在同一台计算机上运行,也可以在通过网络连接的不同计算机上运行它使一个应用程序能够控制另一个应用程序,并使多个应用程序能够共享相同的数据而不会相互干扰。
有智能独立FastCGI进程管理器之类的东西吗?我有一个 C++ 自定义服务器,我愿意将其作为 FastCGI 应用程序连接到 Apache/Nginx。 Apache 有 mod_fcgid
我正在生成一个子进程,我控制其内部代码,并且需要子进程和主机进程之间的双向通信。 现在我有一个包含主机的简单实现
我正在尝试使用 C++ boost 库在(提升)共享内存位置创建哈希图。到目前为止一切顺利,这一切都很好地记录在 boost 文档中。但是,我想要一个...
Boost.Process - 如何让一个进程运行一个函数?
所以我尝试用 Boost.Process 做一些事情,尽管它还没有被 Boost 发行版接受。 最简单的程序看起来像 #包括 #包括 所以我尝试用 Boost.Process 做一些事情,尽管它还没有被 Boost 发行版接受。 最简单的程序看起来像 #include <boost/process.hpp> #include <string> #include <vector> namespace bp = ::boost::process; void Hello() { //... contents does not matter for me now - I just want to make a new process running this function using Boost.Process. } bp::child start_child() { std::string exec = "bjam"; std::vector<std::string> args; args.push_back("--version"); bp::context ctx; ctx.stdout_behavior = bp::silence_stream(); return bp::launch(exec, args, ctx); } int main() { bp::child c = start_child(); bp::status s = c.wait(); return s.exited() ? s.exit_status() : EXIT_FAILURE; } 我创建的 tall 进程如何执行 Hello() 函数? 你不能。另一个进程是另一个可执行文件。除非您生成同一程序的另一个实例,否则子进程甚至不会包含 Hello() 函数。 如果孩子是你程序的另一个实例,你需要定义自己的方式告诉孩子运行Hello()。这可能是进程参数或 std:cin 上的一些协议(即使用标准输入进行进程间通信) 在 UNIX/Linux 平台上,您可以启动另一个进程而不运行不同的可执行文件。请参阅 fork(2) 系统调用。然后你可以在孩子中调用 Hello() 。但是 boost::process:launch() 映射到此类平台上的 fork+exec。普通的 fork() 不会被 boost 暴露,例如因为它在其他平台上不存在。 可能有非常依赖于平台的方式来做你想做的事,但你不想去那里。
我正在创建一个与另一个应用程序通信的windows服务。我面临的问题是,一旦客户端断开连接,NamedPipeServerStream就会关闭。我想让NamedPipeServerStream在客户端断开连接时立即关闭。
我正在创建一个与另一个应用程序通信的windows服务。我面临的问题是,一旦客户端断开连接,NamedPipeServerStream就会关闭。我想让NamedPipeServerStream在客户端断开连接时立即关闭。
我需要使用管道在父进程和分叉的子进程之间建立通信。父进程发0,子进程回1,父进程回复2,以此类推,直到计数器达到5。然后两个...
我有一个IPC结构,客户端将向服务器进程发送“类似于外壳程序”(实际上未在外壳程序中执行)命令,例如:get-info 1d8fec4b-c096-4ee6-b2d7-21eb1661212f和...
如果使用/ MTd,则会在boost :: interprocess :: shared_memory_object中崩溃
我有一个在Windows下运行的简单项目。它由两个DLL和一个EXE组成。 EXE加载两个DLL。每个都将在由std :: unique_ptr实例化的类中创建一个共享内存对象。
我有一个带有表单,控件等的网站。用户输入应发送到与Web服务器在同一台PC上运行的C ++程序(busybox httpd)。另一方面,C ++程序的结果应为...
我想与如下所示的子进程来通信:INT主(INT的argc,字符* argv的[]){INT BAK,温度; INT FD [2];如果(管(FD)<0){//管误差出口(1)...
nngcat(nng的命令行工具)允许使用--bus标志。我想使用nngcat的“--bus”标志将数据从A1进程发送到A2和A3进程。 (我知道pub / sub和req / rep也可以......
我无法理解管道和叉子,至少在实践中实现它。我想用自己的管道创建n个孩子。我想做类似的事情:int main(void){...
我有两个C#应用程序,我希望其中一个发送两个整数到另一个(这不一定很快,因为它每隔几秒只调用一次)。最简单的方法是什么? (...
我想在两个独立的Linux进程之间传递Cuda上下文(使用POSIX消息队列,我已经设置了它)。使用cuCtxPopCurrent()和cuCtxPushCurrent(),我可以得到...
我正在创建一个应用程序,其中有几个进程通过提升消息队列进行通信。使用消息队列构造函数创建队列作为message_queue(open_or_create,...
我有多个用C ++ 17编写的程序,在Linux上运行。一个程序在/ dev / shm /下创建一个文件,并将其映射到它的内存空间。然后它继续使用placement-new来初始化POD ......
我正在创建一个由两个进程使用的消息队列。其中一个是把东西放进去,另一个是读它。消息队列遵循我创建的结构。 struct MSGQueue {...
我需要在C#应用程序之间实现进程间通信。我决定使用命名管道并编写以下代码:Server while(true){using(var server = new ...
我正在学习信号并写了一个与它们一起玩的简单程序。所以我输入一个数字,然后使用fork我创建一个进程。父进程应该发送数字作为...