我有一个PHP脚本,用于侦听传入的套接字请求等。我需要此脚本在服务器上持续运行(它在无限循环中运行)。
如何启动和管理此流程?我尝试通过SSH/putty启动它,但是SSH连接一超时,脚本就死了。
发布于 2011-01-18 03:54:05
myscript.php &
这将在后台运行脚本
您可以使用以下命令进行检查
ps aux | grep myscript.php
正如Patrick在下面的评论中提到的,从命令行运行的PHP脚本没有最大执行时间限制。myscript.php
将无限期运行。
发布于 2017-04-07 00:14:51
我们最近也有类似的需求。我们运行的是Ubuntu14.04LTS服务器,因此创建了一个upstart
进程,以便在启动时启动该进程,并在由于任何原因退出时重新启动。
它对我们来说运行得非常好,包括自动重启;我们的长时间运行的流程最终会失去MySQL连接。在upstart
进程自动重新启动该进程之前,脚本将处理该异常并退出。我们还添加了一个cron
脚本来监视进程,以防upstart
放弃尝试重新启动时出现更大的错误;我们有一个故障保护机制,以防简单的重新启动不能纠正先前的错误。
发布于 2018-08-26 07:58:14
如果长期运行的可靠性是目标,那么supervisord就是完美的选择!
我是在https://lornajane.net/posts/2012/watch-over-long-running-processes-with-supervisord上偶然发现的
编辑:此工具的目的是解决所述问题。声明的目标是让长时间运行的流程保持运行。一条评论指出(有效地),当前接受的解决方案将是不可靠的,因为脚本可能会崩溃等。所以解决方案是使用一个工具来“启动和管理这个过程”,这也保持了它的活力。这个工具就是这样做的:它在后台启动进程并保持其运行。
https://stackoverflow.com/questions/4717167
复制相似问题