Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie mehrere Prozesse und schließen Prozesse in PHP

So implementieren Sie mehrere Prozesse und schließen Prozesse in PHP

藏色散人
藏色散人Original
2021-03-08 10:55:432581Durchsuche

So schließen Sie den Prozess in PHP: Erstellen Sie zunächst eine PHP-Beispieldatei; schließen Sie dann den angegebenen Prozess mit der Methode „exec(“kill -9 30699“);“

So implementieren Sie mehrere Prozesse und schließen Prozesse in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP7.1, Dell G3-Computer.

1. PHP implementiert Multi-Prozess

PHP verfügt über eine pcntl_fork-Funktion, die Multi-Prozess implementieren kann, aber die PCNTL-Erweiterung muss geladen werden, und diese Erweiterung kann nur unter Linux kompiliert werden.

Zuerst Code:

<?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个进程

Schließen Sie den Prozess: kill -9 pid [Empfohlen: „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语句,所以有权限。

Das obige ist der detaillierte Inhalt vonSo implementieren Sie mehrere Prozesse und schließen Prozesse in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn