| 发表于:2007-04-12 20:35:50 楼主 |
做一个监控服务器,有2个运行模式: 1.被动接受监控客户端传过来的监控指令,然后根据指令的不同调用不同的程序对本机的不同服务进行监控,然后返回监控结果。调用的方式通过fork子进程,然后再在子进程中EXEC就行。然后父子之间通过管道,由子写到标准输出,父通过管道接受标准输出。 2,定时调用本机所有服务的检查程序对所有服务检查一遍,然后向监控客户端返回监控结果。实际上同样也是fork子进程,然后再在子进程中EXEC。然后父子之间通过管道,由子写到标准输出,父通过管道接受标准输出。 现在不解的是,怎样用select实现主进程同时接受客户端tcp连接,又能接受子进程的管道的标准输出。现在考虑的是在服务器建好tcp listen socket时就用(因为要用select接受tcp连接),但是我只知道,当时如果有确定的描述符的话,用select很好做,但是当时只知道一个listen socket,而管道那些都还不确定,难道select还可以在后面在逐渐添加描述符?那整个执行的框架是什么?有人能写个框架代码么? 搞定了100分没说的 |
|
|
|
|