问题,
如何拒绝守护进程中的另一个进程?
我想使用pear系统守护进程库拒绝一个守护进程,然后丢弃该守护进程中的进程。
所以守护进程运行,然后一个新的进程被拒绝,并单独计算,然后其他进程被拒绝,独立于守护进程运行。同时,守护进程继续执行代码并拒绝更多的进程
我如何才能做到这一点呢?
发布于 2011-11-11 15:36:37
System_Daemon只处理启动/关闭处理、一般信号处理和日志记录。
如果你想从你的PHP代码产生新的进程,你需要使用PHP的pcntl functions。
发布于 2011-11-11 19:13:57
冷落?我猜你指的是产卵。
PHP有很多创建进程的函数--但是它们都是阻塞的(除了替代当前进程的pcntl_exec )。
快速浏览一下Pear System Daemon的文档,它只处理守护进程的过程,而不是运行服务器进程和处理多个客户机。您如何实现它将对您如何处理启动新进程产生很大影响。
一种解决方案是派生当前进程的一个实例来处理传入的连接--有一个example on the socket_accept()文档页面。那么,启动的进程是否通过阻塞调用并不重要。
但更简单的解决方案是不使用守护进程/ forking /socket,只需使用stdio通过xinetd调用它
结果表明,C.
发布于 2012-10-02 11:47:37
我以前也遇到过同样的问题。我所做的解决方案是让一个system_daemon通过exec调用另一个system_daemon。您需要更改appPidLocation选项以运行相同代码的新实例。
为了查看选项列表,我查看了system_daemon的code。
https://stackoverflow.com/questions/8083928
复制相似问题