>  기사  >  백엔드 개발  >  PHP에서 여러 프로세스를 구현하고 프로세스를 닫는 방법

PHP에서 여러 프로세스를 구현하고 프로세스를 닫는 방법

藏色散人
藏色散人원래의
2021-03-08 10:55:432581검색

PHP에서 프로세스를 닫는 방법: 먼저 PHP 샘플 파일을 만든 다음 "exec("kill -9 30699");" 메서드를 통해 지정된 프로세스를 닫습니다.

PHP에서 여러 프로세스를 구현하고 프로세스를 닫는 방법

이 기사의 운영 환경: Windows 7 시스템, PHP7.1, Dell G3 컴퓨터.

1. PHP는 다중 프로세스를 구현합니다

PHP에는 다중 프로세스를 구현할 수 있는 pcntl_fork 함수가 있지만 pcntl 확장을 로드해야 하며 이 확장은 Linux에서만 컴파일할 수 있습니다.

First. 코드:

<?php
$arr = [&#39;30000000&#39;,&#39;500000000&#39;,[&#39;7000000000&#39;,&#39;8000000&#39;]];
foreach($arr as $key=>$item){
    $pid[$key] = pcntl_fork();
    if ($pid[$key] == -1) {
        die('could not fork');
    } else if (!$pid[$key]) {
        if(is_array($item)){
            foreach($item as $k=>$value) {
                $pid[$k] = pcntl_fork();
                if(!$pid[$k]){
                    for($j=0;$j<$value;$j++){
                        $con1 = file_get_contents('./'.$value.'.txt');
                        file_put_contents('./'.$value.'.txt',$con1.'#'.$j);
                    }
                    exit;
                }
            }
        }else{
            for($i=0;$i<$item;$i++){
                $con = file_get_contents('./'.$item.'.txt');
                file_put_contents('./'.$item.'.txt',$con.'#'.$i);
            }
        }
        exit;
    }
}
把这个写在test.php文件里。
在Linux中执行: php -f  test.php
查询进程:ps -ef | gerp test     就会查到4个进程

프로세스 닫기: kill -9 pid [권장: "PHP Video Tutorial"]

$pid[$k] = pcntl_fork();//这里的$pid[$k] 就是子进程的进程ID
<?php
exec("kill -9 30699");
写在test2.php 里在Linux中执行: php -f  test.php
查询进程就会发现  30699的进程被关闭了
参考url:https://zhidao.baidu.com/question/395877542327855005.html

注意:php实现多进程或关闭进程,都需要Linux用户的权限,如果是用web(浏览器上),那需要给web端执行的权限。我这里用root执行Linux语句,所以有权限。

위 내용은 PHP에서 여러 프로세스를 구현하고 프로세스를 닫는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.