我有后台应用程序A。
我想创建应用程序乙配置应用程序A在飞行中。
那么,我如何检测是否A正在运行并向A?
答案1
如果您只想更改程序的配置,那么典型的方法是更新其 conf 文件,然后向其发送 SIGHUP 信号,该信号被编程为通过重新加载其 conf 文件来响应(请参阅 参考资料signal(7)
)。正如 Coren 所说,您通常让程序在启动时将其 pid 存储在 /var/run 中的文件中,以便稍后可以向其发送信号。
如果您需要与程序进行更复杂的通信,您将需要使用 fifo 或 unix 域套接字。 fifo(参见fifo(7)
和mkfifo(3)
)更简单,但守护程序只能与单个控制程序通信。 Unix 域套接字(请参阅 参考资料unix(7)
)使用起来比较复杂,但是您可以接受来自多个客户端的连接。