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

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

藏色散人
Freigeben: 2023-03-08 14:08:01
Original
2699 Leute haben es durchsucht

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个进程
Nach dem Login kopieren

Schließen Sie den Prozess: kill -9 pid [Empfohlen: „PHP Video Tutorial“]

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

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

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!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage