Einführung in die Erstellung eines Singleton-Hintergrundprozesses in PHP

巴扎黑
Freigeben: 2023-03-15 06:08:02
Original
1044 Leute haben es durchsucht

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 $!");
Nach dem Login kopieren

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";
}
Nach dem Login kopieren

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
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!