我已经通过浏览器向我的apache web服务器请求PHP脚本。该脚本正在从FTP服务器下载文件,这需要太长时间。我认为PHP没有设置超时,所以我需要找到并终止这个浏览器请求。
有什么想法吗?感谢
答案 0 :(得分:0)
如果您拥有root(sudo)访问权限,则可以从命令行终止进程
正在运行的php进程将显示为Web服务器,httpd或apache2。寻找刚才创建的那个 - 最老的是分配工作者的父进程,你想要运行脚本而不是父进程的进程。 Ps显示进程创建时间和累计cpu时间,用它来找到正确的时间(我使用ps aux | grep apache2
,但我更习惯于BSD工具链)ps输出包括列START(进程开始时间) ,小时:分钟或MonDate)和TIME(使用的cpu时间,分钟:秒)
% ps aux | grep apache2
root 2641 0.0 0.1 74048 14468 ? Ss Feb12 0:27 /usr/sbin/apache2 -k start
www-data 2913 0.0 0.0 74120 6656 ? S Feb12 0:00 /usr/sbin/apache2 -k start
andras 32069 0.0 0.0 3560 1792 pts/8 S+ 20:57 0:00 grep apache2
www-data 32506 0.0 0.0 74120 6656 ? S Feb14 0:00 /usr/sbin/apache2 -k start
我配置apache只启动2个工作进程。 root
拥有的是主人,www-data
是工人。列标题是
% ps aux | head -1
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
你可以用任何杀戮信号杀死它,但通常是-15(-TERM)。
Php确实有一个默认的30秒cpu使用超时,但ftp传输使用非常少的cpu。