Detaillierte Erläuterung der Beispiele für die Daemonisierung von PHP-Programmen

小云云
Freigeben: 2023-03-21 21:52:02
Original
1150 Leute haben es durchsucht

Im Allgemeinen laufen Serverprogramme im Hintergrund des Systems, was sich stark von gewöhnlichen interaktiven Befehlszeilenprogrammen unterscheidet. In glibc gibt es einen Funktionsdämon. Der Aufruf dieser Funktion kann dazu führen, dass der aktuelle Prozess das Terminal verlässt und zu einem Daemon-Prozess wird. Weitere Informationen finden Sie unter man daemon. Derzeit gibt es in PHP keine solche Funktion. Wenn Sie interessiert sind, können Sie natürlich eine PHP-Erweiterungsfunktion schreiben, um sie zu implementieren.

Es gibt zwei Möglichkeiten, die Daemonisierung von PHP-Befehlszeilenprogrammen zu implementieren:

1. Verwenden Sie nohup

nohup php myprog.php > log.txt &
Nach dem Login kopieren

Daemonisierung wird hier implementiert.

Führen Sie php myprog.php alleine aus. Wenn Strg+C gedrückt wird, wird die Programmausführung unterbrochen und der aktuelle Prozess und die untergeordneten Prozesse werden beendet.

php myprog.php &, obwohl das Ausführungsprogramm auch im Hintergrund ausgeführt wird, hängt es tatsächlich vom Terminal ab. Wenn der Benutzer das Terminal verlässt, wird der Prozess abgebrochen.

2. Verwenden Sie PHP-Code zur Implementierung

function daemonize()
{$pid = pcntl_fork();if ($pid == -1)
{die("fork(1) failed!\n");
}elseif ($pid > 0)
{//让由用户启动的进程退出exit(0);
}//建立一个有别于终端的新session以脱离终端posix_setsid();$pid = pcntl_fork();if ($pid == -1)
{die("fork(2) failed!\n");
}elseif ($pid > 0)
{//父进程退出, 剩下子进程成为最终的独立进程exit(0);
}
}daemonize();sleep(1000);
Nach dem Login kopieren

Verwenden Sie den obigen Code zur Implementierung der Daemonisierung. Wenn Ihr PHP-Programm im Hintergrund ausgeführt werden muss, müssen Sie es nur einmal aufrufen, um es zu kapseln Es kann die Funktion daemonize() verwendet werden.
Hinweis: Hier erfolgt keine Umleitung der Standardeingabe und -ausgabe.

Verwandte Empfehlungen:

Dämonisierung von PHP-Programmen

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Beispiele für die Daemonisierung von PHP-Programmen. 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