2012-03-21 3 views
3

У меня есть чуть более сотни php-скриптов, запущенных на моем сервере прямо сейчас. Каждый из них запускает циклы и вставляет данные в мой db. Я сделал это, чтобы изучить процессы убийства в mysql. Поэтому, чтобы убить их, я закодировал php-файл, который перебирает список процессов и убивает их один за другим. Проблема в том, что этот скрипт не выполняется. Он сохраняет загрузку в моем браузере (без ошибок ...). Также обратите внимание, что я не могу вручную запустить список процессов show в mysql, так как mysql полностью перегружен на данный момент, и ничего не реагирует. Поэтому я думаю, что мой сценарий «процесс убийства» является последним в очереди и будет выполнен только в конце. Поэтому мой вопрос - знать, есть ли способ заставить процесс в mysql и поместить его в приоритет номер один. Заранее благодарю за ваши ответы. Приветствия. МаркPHP 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

Я думаю, что это вопрос, связанный с работой с сервером. Расскажи мне, как ты убиваешь :-) – zod

+0

Hello zod. Я только что отредактировал сообщение ... – Marc

+1

У убийства нужна привилегия! лучшие сценарии есть .. попробуйте распечатать также http://dev.mysql.com/doc/refman/5.0/en/kill.html – zod

ответ

0

Я не уверен, если это будет на самом деле влияет на MySQL, но на Unix/Linux, вы можете попробовать позвонить proc_nice() в верхней части вашего сценария с отрицательным приращением (например, -20). Он в основном делает то же самое, что и nice command.

От Wikipedia page on nice:

»... хорошо используется для вызова утилиты или сценарий оболочки с определенным приоритетом, таким образом, давая этот процесс более или меньше процессорного времени, чем другие процессы А любезность в -. 20 - наивысший приоритет, а 19 или 20 - самый низкий приоритет. По умолчанию для процессов наследуется от его родительского процесса, обычно 0. "

+0

Существует аналогичная команда под названием ['pcntl_setpriority()'] (http://php.net/manual/en/function.pcntl-setpriority.php) который позволяет вам установить приоритет любого процесса. –

Смежные вопросы