我想实现一个 Unix 守护进程(我们称之为myUnixd),并希望用户能够通过命令行与这个守护进程进行交互,例如:
myUnixd --help # will display help information
myUnixd --show # will show some data (the's deamon should be doing the work)
所以我的问题是:我如何与守护进程通信?我在考虑 Unix 域套接字。有人能告诉我这样做的正确方法吗?
谢谢。
我想实现一个 Unix 守护进程(我们称之为myUnixd),并希望用户能够通过命令行与这个守护进程进行交互,例如:
myUnixd --help # will display help information
myUnixd --show # will show some data (the's deamon should be doing the work)
所以我的问题是:我如何与守护进程通信?我在考虑 Unix 域套接字。有人能告诉我这样做的正确方法吗?
谢谢。
如果您想使用 telnet 与您的守护进程通信,请使用 tcp 套接字。
也可以使用远程过程调用 (RPC)进行这种客户端-服务器通信。有不同类型的消息(协议)可以与它一起使用,其中之一是 JSON。
JSON-RPC协议非常适合此类任务。您可以找到不同的工具和库来嵌入到您的软件中。谷歌上的快速搜索给出了这个 C 库。此类库的优势在于,您可以从定义所有远程函数调用的 JSON 规范文件中创建客户端和/或服务器存根,您可以在开箱即用的代码中使用这些存根。
作为侦听器,可以使用套接字,作为其他响应状态,或者只是一个嵌入式 HTTP 服务器,如microhttpd(和客户端的libcurl)。有很多例子可以重复使用。HTTP 还允许您在代理后面运行您的客户端。