如何在php中停止sql查询执行?

如何在php中停止sql查询执行?,php,sql,postgresql,Php,Sql,Postgresql,我的SQL查询执行时间很长。当我关闭浏览器页面时,sql查询(postgresql)继续执行。如何在页面关闭时停止它的执行?您必须拥有一些javascript,这些javascript将在页面关闭时接收,并向服务器执行回发,服务器将连接到执行进程并停止它。您可以在服务器上终止进程。好的,您不能保证在没有JavaScript的情况下会发生断开连接,确保窗口已关闭的唯一真正方法是让它不断ping服务器——有时页面关闭事件不会触发。因此,您基本上需要在后台跟踪ping,如果在给定时间内没有触发ping

我的SQL查询执行时间很长。当我关闭浏览器页面时,sql查询(postgresql)继续执行。如何在页面关闭时停止它的执行?

您必须拥有一些javascript,这些javascript将在页面关闭时接收,并向服务器执行回发,服务器将连接到执行进程并停止它。

您可以在服务器上终止进程。

好的,您不能保证在没有JavaScript的情况下会发生断开连接,确保窗口已关闭的唯一真正方法是让它不断ping服务器——有时页面关闭事件不会触发。因此,您基本上需要在后台跟踪ping,如果在给定时间内没有触发ping,则调用kill进程


据我所知,如果不以管理员身份登录并强制关闭威胁,就无法判断PostgreSQL连接。方法被调用。我不会使用命令行kill强制终止进程。这可能会产生一些影响,使用内置工具可以避免这些影响。

听你的问题,我猜这是一台开发机器。如果是这种情况,只需重新启动web服务器以终止php脚本。如果您使用的是apache,则如下所示:

sudo apache2ctl restart

我想删除这个答案,因为它太硬了,不能回答这个问题,但有人投了赞成票。为什么?:)因为这是停止SQL数据库中进程的唯一方法。应用程序只发送请求——与暂停/etc之间没有交互连接。@Gedrox我给你介绍了。加油@天哪,小马们,但正如Gedrox所说,它并没有回答这个问题。它没有将问题中关闭浏览器页面的事件与所需的行为联系起来。@user151841:请参阅我对Paul的评论,内容很少,只有在浏览器仍在运行的情况下才起作用——您必须捕获有人完全关闭浏览器的情况,并说明浏览器崩溃的原因(javascript不会这样做)仍然–如何检测客户端已离开页面?如上所述,这仅用于开发环境中--您永远不会希望在实时服务器上发出该命令。后台跟踪是一个有趣的想法,但后台php进程如何知道其他哪些php进程与浏览器断开了连接?