Heim >Backend-Entwicklung >PHP-Tutorial >Einführung in die Erstellung eines Singleton-Hintergrundprozesses in PHP
In diesem Artikel wird hauptsächlich die Methode zum Erstellen eines einzelnen Hintergrundprozesses in PHP vorgestellt, einschließlich der mit PHP verbundenen Betriebstechniken zum Starten, Erstellen, Beurteilen, Stoppen und anderen Prozessen. Freunde in Not können sich auf Folgendes beziehen:
Dies Der Artikel erläutert anhand von Beispielen die Methode zum Erstellen eines Singleton-Hintergrundprozesses in PHP. Teilen Sie es wie folgt mit allen als Referenz:
Sie können einen PHP-Hintergrundprozess durch die folgende Anweisung starten:
$command = " php script.php "; $pid = exec("nohup $command > /dev/null 2>&1 & echo $!");
nohup bedeutet das Dieser Prozess ist unabhängig vom erstellten Benutzer und kann im Daemon-Modus ausgeführt werden.
Wenn dieser Hintergrundprozess als einzelne Instanz ausgeführt werden soll, können Sie die folgende Methode verwenden, um aufzuzeichnen/beurteilen, ob der Prozess ausgeführt wird
//query the database for process id $query = "SELECT pid FROM `daemons` WHERE `pid` = '2013' LIMIT 1"; $result = mysql_query($query); $pid = mysql_result($result, 0, 'pid'); //check if the process is running exec("ps $pid", $pState); if((count($pState) >= 2) && !empty($pid)) { echo "RUNNING"; } else { echo "INACTIVE"; }
Sie können die PID auch in eine Datei schreiben, aber wenn Sie sich in einer Umgebung mit verteilten Aufgaben befinden, ist es besser, sie in der Datenbank abzulegen
Stoppen Sie einen Hintergrundprozess:
//check if the process from the database is running exec("ps $pid", $pState); if((count($pState) >= 2)) { //if the process is running, kill it exec("kill $pid"); //update database row with an empty process id }
Das obige ist der detaillierte Inhalt vonEinführung in die Erstellung eines Singleton-Hintergrundprozesses in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!