|
最近要写一个命令行程序,我打算设计为daemon模式,这样以后方便写图形外壳。程序需要提供的指令不多,大约就stop,start,reloadConfig,getState等,可能还需要主动广播information。
于是我思索了一番,觉得关键在于通信方式。我所想到的通信方式如下:
1、signal。重定义各种信号的含义,这样就能容易使用kill等程序发送信号给daemon,进而达到发送指令的目的。这种方式下不能获取来自daemon的信息,是为最大缺陷。
2、socket。利用socket能一举解决发送指令,接受返回结果的问题,而且可能还可以实现远程监控(提供这样的功能也不赖),只是不知道编程方面会不会变得复杂?
3、DBUS。DBUS我只是听说过,了解过,可并没有编程过。我猜想,这种模式下daemon接受指令/发送返回结果比起socket方式更容易些,毕竟是较为现代的通信方式。
不知道哪一种模式适合我的这个小程序?如果还有更好的方式,请指教。
PS:各位若举些编程方面的参考就更妙了。。。
===========
发错地方了,斑斑请删吧 |
|