Aktueller Standort: Startseite> Funktionskategorien> proc_terminate

proc_terminate

Töte einen von proc_open geöffneten Prozess
Name:proc_terminate
Kategorie:Programmausführung
Programmiersprache:php
Kurzbeschreibung:Beenden Sie einen von der Funktion proc_open () erstellten Prozess

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:

  • $ prozess: Die von der Funktion proc_open () zurückgegebene Prozessressource.
  • $ signal (optional): Das Signal, das an den Prozess gesendet werden soll, stellt standardmäßig an Sigterm (15).

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.

Ähnliche Funktionen
Beliebte Artikel