代码之家  ›  专栏  ›  技术社区  ›  Brian Lacy

如何最好地控制(向基于PHP的守护程序脚本发出命令信号)?

  •  4
  • Brian Lacy  · 技术社区  · 15 年前

    我已经创建了一个php守护进程脚本来持续监视服务器文件系统上的一个特定目录中的新文件,然后处理和归档它们。

    注: 我使用的是一个php守护进程类,位于:
    http://www.phpclasses.org/browse/file/8958.html

    我已经让脚本运行了,但是我需要一种方法来与守护进程接口并发出命令。例如,一个真正有用的命令是“停止”!:)我现在必须手动终止进程。

    在使用控制文件之前,我已经完成了这项工作(例如,检查文件中是否有新的命令,如果有则执行该命令,然后清除该文件)。我也用过插座,但这个问题并不需要任何网络连接。是否有更好、更优雅或更自然的方法将命令信号发送到守护进程?

    我确实发现了:
    PHP Daemon/worker environment
    但恐怕我没有完全掌握如何使用所提供的代码。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Pascal MARTIN    15 年前

    一种可能的解决方案是使用信号——参见 pcntl_signal 例如:您的php守护进程将监听信号,您只需要从“外部”发送信号。

    这是一种在UNIX/Linux上经常使用的方法——但是请注意 pcntl_* 功能在Windows上不可用。 (您发布的类已经在使用 pcntl* 函数,所以这里没有新功能)

        2
  •  2
  •   Ignacio Vazquez-Abrams    15 年前

    在*nix上,您可以使用信号来控制您的守护进程;请参见 pcntl_signal() 以及 signal(7) 人页。