如何杀死一个Web进程

时间:2010-12-20 20:34:17

标签: php linux lamp

我有一个需要很长时间才能运行的Web脚本(而且它应该需要很长时间)。 “web脚本”是指通过访问浏览器中的页面并反对在命令行上执行而运行的脚本。该脚本是PHP的,我在LAMP堆栈上。

如果我愿意,我怎样才能找到并杀死这个过程?

“杀”可能是错误的词。我只想让脚本停止。我可以想象,这个脚本会“监视”我系统的某些状态发生变化,然后当它注意到变化时停止。如果我这样做,我不确定最好的方法是什么。无论如何,我完全接受任何建议。

2 个答案:

答案 0 :(得分:3)

当脚本启动时,将其pid写入文件,例如

 file_put_contents(getmypid ().".pid","Running");

当脚本完成后,它会删除文件。

然后,您创建另一个将运行cron表单的脚本。它会查找特定年龄段的pid文件,并对其进行kill $pid

简单。

答案 1 :(得分:0)

您是否只是转到脚本的网页,即www.mysite.com/mywebscript.php,或者您是从另一个页面运行脚本?我建议使用system()或其他东西,这样你就可以在linux平台上查找进程id。虽然,有人可能会投票我的提及系统()

此外,您可以在脚本中使用一个线程。你可以让它执行任何操作,并同时输入,只需发送命令就可以杀死它。

相关问题