我有一个启动成本高的交互式程序。启动后,我想将进程分成单独的并发会话。理想情况下,每个单独的会话都将成为GNU screen窗口,但是能够单独telnet / ssh到每个会话也没关系。
从头开始编写这个文件应该不会太难,但它似乎应该是之前已经完成/考虑过的事情,也许有理由说明这是一个坏主意......
我知道另一种方法是使用共享内存来处理初始化成本高昂的数据。我不愿意走这条道路的原因是共享数据使用带有指针的C ++数据结构,这使得很难将它映射到一个不相关的过程。
答案 0 :(得分:0)
这就是任何数据库的作用 - 启动是非常昂贵的,但db提供了几种不同的连接方式 - 例如Oracle的BEQ协议。
Telnet有问题,请考虑使用ssh。无论哪种方式,考虑一个守护程序来回应端口上的连接请求(我猜你会使用AF_UNIX套接字),然后创建一个单独的会话。
UNIX Envrionment中的Stevens高级编程或Rochkind的高级UNIX编程有讨论和完整的例子。由于我的史蒂文斯书似乎已经进行了大量的假期,请参阅Rochkind 4.3和4.10。
不,使用这种方法没有未决的厄运。