Asturio
Asturio Kee
Hallo Zusammen,
Wir entwickeln hier für Apache + FastCGI einige CGIs in C. Das FastCGI, ist eigentlich ein Modul für Apache, welche C-CGIs schneller bedienen lassen. Apache lädt die CGI binary, und diese bleibt im Speicher resident, und so muss die nicht bei jedem Aufruf von Platte neu geladen werden. Auf der Entwicklungsmaschine (ein Sparc E3500) wird in der Regel die Binary in einem Verzeichnis kompiliert, und über die laufende Binary kopiert. Und so kann man die neue Version testen. In der Regel hat man da 2 Nebeneffekte: entweder stürzt die laufende Applikation erstmal ab (mit einem Internal Server Error), und beim 2. Reload wird die neue Version gestartet. ODER der CGI hängt sich auf, und man startet den Apache nachträglich neu. Gestern hatten wir aber einen neuen unangenemeren Effekt. Das CGI hat sich unendlich(?) geforkt, so dass kaum was anderes mehr lief (Load von 900 erreicht). Diese hunderte von gleich amok gelaufene Prozesse konnte man auch nicht killen:
kill -9 `ps -ef | grep PROCESSOWNER | awk '{print $2}'` hat nie alles gekillt. Was anderes blieb mir nicht übrig als die Kiste zu rebooten (was auch eventuell mal nicht klappen muss).
Dazu habe ich 3 Fragen:
- Wieso kommt sowas zustande?
- Wie kann ich sowas vermeiden?
und
- Was kann ich noch versuchen, wenn sowas eventuell nochmal passiert?
Grüße,
Asturio
Wir entwickeln hier für Apache + FastCGI einige CGIs in C. Das FastCGI, ist eigentlich ein Modul für Apache, welche C-CGIs schneller bedienen lassen. Apache lädt die CGI binary, und diese bleibt im Speicher resident, und so muss die nicht bei jedem Aufruf von Platte neu geladen werden. Auf der Entwicklungsmaschine (ein Sparc E3500) wird in der Regel die Binary in einem Verzeichnis kompiliert, und über die laufende Binary kopiert. Und so kann man die neue Version testen. In der Regel hat man da 2 Nebeneffekte: entweder stürzt die laufende Applikation erstmal ab (mit einem Internal Server Error), und beim 2. Reload wird die neue Version gestartet. ODER der CGI hängt sich auf, und man startet den Apache nachträglich neu. Gestern hatten wir aber einen neuen unangenemeren Effekt. Das CGI hat sich unendlich(?) geforkt, so dass kaum was anderes mehr lief (Load von 900 erreicht). Diese hunderte von gleich amok gelaufene Prozesse konnte man auch nicht killen:
kill -9 `ps -ef | grep PROCESSOWNER | awk '{print $2}'` hat nie alles gekillt. Was anderes blieb mir nicht übrig als die Kiste zu rebooten (was auch eventuell mal nicht klappen muss).
Dazu habe ich 3 Fragen:
- Wieso kommt sowas zustande?
- Wie kann ich sowas vermeiden?
und
- Was kann ich noch versuchen, wenn sowas eventuell nochmal passiert?
Grüße,
Asturio