不断运行的Gearman工人

Aar*_*rks 3 php gearman

我有一个过程,我希望能够在任何时候启动Gearman客户端在后台运行.

我通过打开两个到我的服务器的SSH连接找到了成功,一个启动了worker,另一个启动了运行客户端.这产生了所需的输出.

问题在于,我希望工作人员在后台不断运行,这样我就可以在需要完成流程时调用客户端.但是当我关闭运行工作程序PHP文件的终端时,对客户端的调用不起作用 - 工作者似乎死了.

有没有办法让工作人员在后台不断运行,因此调用新客户端无需启动新工作人员即可运行?

谢谢!

Pas*_*TIN 6

如果你希望程序在父程序已经死亡之后继续运行(即你已经关闭了你的终端),你必须使用以下命令调用它nohup:

nohup your-command &
Run Code Online (Sandbox Code Playgroud)


引用我链接到的相关维基百科页面:

nohup是一个POSIX命令,用于忽略HUP(hangup)信号,使命令在发出命令的用户注销后继续运行.
按照HUP惯例,(挂断)信号是终端根据注销过程发出警告的方式.


对于另一个(可能更多)有趣的解决方案,请参阅以下文章:Dæmonize您的PHP.

它指向Supervisord,它使一个进程仍在运行,必要时重新启动它.