Funktionsname: proc_termate ()
Anwendbare Version: Php 4> = 4.3.0, Php 5, Php 7
Funktionsbeschreibung: Die Funktion proc_terminate () wird verwendet, um einen von der Funktion proc_open () erstellten Prozess zu beenden.
Syntax: bool Proc_terate (Ressource $ prozess, int $ signal = 15)
Parameter:
Rückgabewert: Return True Wenn der Prozess erfolgreich beendet wird; ansonsten false zurückgeben.
Beispiel:
$descriptorspec = array( 0 => array("pipe", "r"), // 标准输入,子进程从此管道中读取数据1 => array("pipe", "w"), // 标准输出,子进程向此管道中写入数据2 => array("file", "/tmp/error-output.txt", "a") // 标准错误,写入到一个文件); $process = proc_open('php -r "echo \'Hello, World!\';"', $descriptorspec, $pipes); // 等待一段时间后终止进程sleep(3); proc_terminate($process); // 读取子进程的输出echo stream_get_contents($pipes[1]); // 关闭管道和进程资源fclose($pipes[0]); fclose($pipes[1]); proc_close($process);
Im obigen Beispiel verwenden wir die Funktion proc_open (), um einen untergeordneten Prozess zu erstellen, der einen einfachen PHP -Befehl ausführt, um "Hallo, Welt!" Auszugeben. Anschließend beenden wir den untergeordneten Prozess, nachdem wir 3 Sekunden lang mit der Funktion proc_terminate () gewartet haben. Schließlich lesen wir die Ausgabe des untergeordneten Prozesses über die Funktion stream_get_contents () und schließen die relevanten Pipelines und Prozessressourcen.
Beachten Sie, dass die Funktion proc_terminate () nur ein Signal an den Prozess sendet, aber es kann nicht garantieren, dass der Prozess sofort beendet wird. Wenn Sie sicherstellen müssen, dass der Prozess sofort endet, können Sie die Funktion proc_close () anstelle der Funktion proc_terminate () verwenden.