我现在在我的服务器上运行了一百多个PHP脚本。他们每个人都运行循环并将数据插入我的数据库。我这样做是为了学习mysql中的kill进程。所以为了杀死它们,我编写了一个循环遍历进程列表的php文件并逐个杀死它们。问题是这个脚本没有执行。它一直在我的浏览器中加载(没有错误...)。还要注意我无法在mysql中手动启动show processlist,因为mysql目前完全超载,并且没有任何响应。所以我猜我的'kill process'脚本是队列中的最后一个脚本,只会在最后执行。所以我的问题是要知道是否有办法在mysql中强制进程并将其置于第一优先级。提前感谢您的回复。干杯。马克
这就是我杀死进程的方式:
$qry = mysql_query("SHOW FULL PROCESSLIST");
while ($row=mysql_fetch_array($qry)) {
$process_id=$row["Id"];
$sql="KILL $process_id";
mysql_query($sql);
}
答案 0 :(得分:0)
我不确定这是否会影响MySQL,但是在Unix / Linux上,您可以尝试以负增量(如-20)调用脚本顶部附近的proc_nice()
。它基本上与nice
command完全相同。
“... nice用于调用具有特定优先级的实用程序或shell脚本,从而为进程提供比其他进程更多或更少的CPU时间.20的优点是最高优先级,19或20是最低优先级。进程的默认好处是从其父进程继承,通常为0.“