У меня есть простой скрипт, который пытается убить уже запущенный процесс. Для этого я использую posix_kill. Скрипт работает нормально, если я запускаю его из командной оболочки, но не работает, когда запускаю его из браузера.posix_kill не работает при запуске из браузера
<?php
$taskid = 33;
killProcess($taskid);
function killProcess($taskid) {
$ppid = getPID($taskid);
echo "process id -- $ppid\n";
$pids = preg_split('/\s+/', `ps -o pid --no-heading --ppid $ppid`);
var_dump($pids);
foreach($pids as $pid) {
if(is_numeric($pid)) {
echo "Killing $pid\n";
posix_kill($pid, 15);
}
}
}
?>
Я всегда получаю следующий вывод, что означает, что скрипт выполняется хорошо, но этот процесс не убить: идентификатора процесса - 4632 массива (размер = 3) 0 => строки ' '(длина = 0) 1 => строка '4633'(длина = 4) 2 => строка ''(длина = 0) Killing 4633
Я проверил файл апачский "error.log", и обнаружил, что для каждого запуска, который я делаю из браузера, и добавляется дополнительная запись: [Сб июн 23 12:24:55 2012] [error] [clien t 127.0.0.1] Файл не существует: /var/www/favicon.ico
К сожалению, эта ошибка не дает мне много информации о том, что происходит не так. Я проверил настройки php.ini, и, похоже, что-то не так (в соответствии с любым ограниченным пониманием, которое у меня есть). Я не вижу posix_kill в списке «disabled_functions» и т. Д. Или любые другие настройки, которые мешают мне выполнять процесс.
Искренне благодарен за помощь!
Спасибо, Капил
Да .... это именно причина ....... Я уволил процесс от php-демона и пытался его убить из браузера ... конечно, у него не будет прав на убийство. Большое спасибо! –