나는 이미 실행중인 프로세스를 죽이려고하는 간단한 스크립트가 있습니다. 같은 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);
}
}
}
?>
난 항상 스크립트가 잘 실행되지만 프로세스가 살해되지 않음을 의미 다음과 같은 출력을 얻을 : 프로세스 ID - '4632 배열 (크기 = 3) 0 => 문자열을 '(길이 = 0) 1 => 문자열'4633 '(길이 = 4) 2 => 문자열'(길이 = 0)
4633 죽이는 I는 아파치 "하는 error.log"파일을 조사 브라우저에서 실행할 때마다 다음과 같이 추가 항목이 추가됩니다. [Sat Jun 23 12:24:55 2012] [오류] [clien t 127.0.0.1] 파일이 존재하지 않습니다 : /var/www/favicon.ico
불행히도이 오류는 잘못된 정보에 대해 많은 정보를 제공하지 않습니다. 나는 php.ini 설정을 체크 아웃하고, 아무런 문제가없는 것처럼 보인다. posix_kill이 "disabled_functions"목록이나 기타 프로세스에서 실행되지 못하게하는 다른 설정에 표시되지 않습니다.
도움을 주시면 감사하겠습니다.
감사합니다, 카필
네 .... 그게 정확히 이유는 ....... 나는 PHP 데몬에서 프로세스를 해고하고 브라우저에서 그것을 죽이려고했다 ... 당연히 죽일 수있는 권한이 없을 것이다. . 많이 감사하는 Borealid! –