Heim >Backend-Entwicklung >PHP-Tutorial >Swoole-Multiprozessproblem bezüglich des unerwarteten Beendens des Hauptprozesses
Mein Bruder arbeitet derzeit an einem Multiprozess-Crawling-Dienst. Es gibt jetzt einen Hauptprozess und 10 untergeordnete Prozesse. Wenn der untergeordnete Prozess unerwartet beendet wird, erstellen Sie einen weiteren untergeordneten Prozess.
Aber wenn der Hauptprozess versehentlich den untergeordneten Prozess verlässt, wird er nicht mit ihm beendet, wenn ich diesen Dienst das nächste Mal öffne, werde ich 10 untergeordnete Prozesse erstellen, was nicht nur die Daten durcheinander bringt in redis, nimmt aber auch viel Speicher in Anspruch. Gibt es eine gute Möglichkeit, sicherzustellen, dass die folgenden untergeordneten Prozesse zusammen heruntergefahren werden, wenn der Hauptprozess unerwartet endet? ?
Meine Idee ist, dass exec jedes Mal, wenn der Hauptprozess gestartet wird, das nächste Shell-Skript ausführt. Das Shell-Skript schließt alle zugehörigen Prozesse außer diesem Hauptprozess. Habt ihr einen Rat?
Mein Bruder arbeitet derzeit an einem Multiprozess-Crawling-Dienst. Es gibt jetzt einen Hauptprozess und 10 untergeordnete Prozesse. Wenn der untergeordnete Prozess unerwartet beendet wird, erstellen Sie einen weiteren untergeordneten Prozess.
Aber wenn der Hauptprozess versehentlich den untergeordneten Prozess verlässt, wird er nicht mit ihm beendet, wenn ich diesen Dienst das nächste Mal öffne, werde ich 10 untergeordnete Prozesse erstellen, was nicht nur die Daten durcheinander bringt in redis, nimmt aber auch viel Speicher in Anspruch. Gibt es eine gute Möglichkeit, sicherzustellen, dass die folgenden untergeordneten Prozesse zusammen heruntergefahren werden, wenn der Hauptprozess unerwartet endet? ?
Meine Idee ist, dass exec jedes Mal, wenn der Hauptprozess gestartet wird, das nächste Shell-Skript ausführt. Das Shell-Skript schließt alle zugehörigen Prozesse außer diesem Hauptprozess. Habt ihr einen Rat?