有一个长期存在的PHP进程,它支持信号(SIGHUP
等),另一个PHP进程需要知道第一个发送信号的PID。如何将pid从一个PHP进程与另一个进程进行通信?
我想设置一个环境变量,它将在第二个(客户端)进程中读取并用于我的目的,但putenv(...posix_getpid()...)
似乎不会让其他进程可见。
如何制作一个环境变量,在一个PHP进程中设置,对另一个进程可见?如果这是不可能的,有什么更好的方法(我不想使用文件或数据库)?
有一个长期存在的PHP进程,它支持信号(SIGHUP
等),另一个PHP进程需要知道第一个发送信号的PID。如何将pid从一个PHP进程与另一个进程进行通信?
我想设置一个环境变量,它将在第二个(客户端)进程中读取并用于我的目的,但putenv(...posix_getpid()...)
似乎不会让其他进程可见。
如何制作一个环境变量,在一个PHP进程中设置,对另一个进程可见?如果这是不可能的,有什么更好的方法(我不想使用文件或数据库)?
你在说什么是Inter-Process Communication (IPC)。解决方案包括使用套接字,命名管道,文件,redis,一些消息总线/队列等。这是软件开发中的一个常见且复杂的问题,并且有许多强大的选项。
听起来像一个简单的文件会适合你,可能是......最简单的。
通常的做法是在启动守护程序进程时创建一个全球知名的pid
文件,并将其PID写入该文件。
其他愿意发送信号给守护进程的进程只读pid文件来检索当前的pid并在此后发送信号。