开发 Mac OS 守护程序和 IPC
Developing a Mac OS Daemon and IPC
我开发了一个虚拟的启动守护进程,它每 5 分钟向控制台(系统日志)写入一些内容。现在,我想编写一个可以与此服务通信的应用程序。通过通信,我的意思是用户应该能够输入记录频率(时间)。例如,如果服务每 5 分钟记录一次"Hello world",则用户应该能够将其更改为其他内容(例如 2 分钟),并且应该反映更改。关于我应该如何继续开发应用程序并促进守护程序和应用程序之间的进程间通信的任何想法?谢谢。
有几种方法:
-
为您的应用程序提供一个包含日志记录频率和所需任何其他参数的
config
文件。然后,守护程序在启动时解析文件以获取其参数。守护程序还创建一个 SIGHUP 处理程序,当它收到 SIGHUP 时,它会从配置文件中重新读取值。然后,用户与之交互的部分只是从用户那里获取新参数,将它们编辑到config
文件中,并向守护程序的进程 ID 发送kill -HUP
。 -
守护程序创建第二个线程,该线程创建一个套接字并侦听新参数,当任何参数到达时,线程更新与其主线程共享的变量,然后继续使用新值。然后,与用户交互的部分要求用户输入新参数并将其发送到约定的端口 - 您可以使用
nc
或netcat
开始使用,然后用C++编码。
相关文章:
- 从守护程序启动的控制台应用捕获输出
- 使用 gdb 调试 linux 守护程序的初始启动
- 如何通过使用C,C 在Linux上指定其名称,以编程方式检查特定的守护程序
- 系统会冻结如果我使用运行的守护程序重新启动或关闭,该守护程序可以使用Fanotify控制对文件的访问
- 通过C 代码在Linux上启动/停止守护程序
- 当将应用程序作为启动的守护程序运行时,C++ 库中的信号 10 (SIGBUS)
- 程序的守护程序版本崩溃时的查找位置
- 在 Mac OSX 上打包 C++ 守护程序的推荐方法是什么?
- 将提升线程作为守护程序运行
- Windows 中守护程序的代码覆盖率
- C++:用于检测 USB 加密狗的守护程序
- C++守护程序静音模式
- 守护程序未与通知发送交互
- 仅在守护程序线程返回后删除它
- 开发 Mac OS 守护程序和 IPC
- 创建无需任何外部执行即可连续侦听的守护程序文件
- 将 valgrind 与守护程序附加,并收集每个守护程序调用的日志
- Linux守护程序不工作
- 无法在守护程序中打开 ttyUSB 端口
- 由于从客户端启动守护程序应用程序,服务器端口无法返回侦听并处于关闭等待状态