Der Martin: PHP bzw. Apache mehr Leistung geben

Beitrag lesen

Moin,

Was passiert, wenn man in PHP unter Linux exec() benutzt und den Aufruf in den Hintergrund stellt? Ist der dann 100% Child vom Hauptprozess, oder bekommt der einen neuen Thread und damit eventuell auch anderen Prozessorkern?

sowohl als auch.

Mit exec() wird ein komplett neuer Prozess gestartet (nicht nur ein Thread), der seinen eigenen Eintrag im Task-Manager bekommt, vom Scheduler genauso bedient wird wie alle anderen, der sogar mit seinem Eltern-Prozess, dem PHP-Interpreter, um CPU-Zeit konkurriert. Und ja, er kann auf einem anderen Kern laufen, wenn der Scheduler meint, dass das gut wäre.

Gleichzeitig ist er aber ein Kind-Prozess von PHP in dem Sinn, dass der Elternprozess alle Rechte daran hat. Er kann dem Kind-Prozess z.B. die Priorität erhöheh und verringern, er kann ihn auch vorzeitig abbrechen.

Einen schönen Tag noch
 Martin

--
Мир для України.