Ich habe festgestellt, dass auf OS X Server in Mavericks die PostgreSQL-Prozesse Verzögerungen beim Herunterfahren verursachen. Während eines ausführlichen Herunterfahrens erhalte ich die folgende (gekürzte) Ausgabe:
com.apple.launchd System: Still alive with 1/7 (normal/anonymous) children.
*.anonymous.pg_receivexlog PID is still valid
*.anonymous.postgres_real PID is still valid
*.anonymous.postgres_real PID is still valid
*.anonymous.Python PID is still valid
*.anonymous.pg_receivexlog PID is still valid
*.anonymous.postgres_real PID is still valid
com.apple.DeviceManagement.postgres PID is still valid
Das (*) wird durch eine zufällige Zeichenfolge ersetzt, die für jedes Element unterschiedlich ist.
Ich habe keine Erfahrung mit PostgreSQL und verwende keine der datenbankbezogenen OS X Server-Komponenten (hauptsächlich Xcode und VPN), daher habe ich keine Ahnung, wo ich anfangen soll.
Die com.apple.DeviceManagement.postgres
Zeile lässt mich denken, dass dies mit Profilmanagerdiensten zusammenhängen könnte. Wird angezeigt, dass der Profil-Manager in Server.app ausgeführt wird? Wenn Sie diesen Dienst nicht nutzen, kann es hilfreich sein, ihn zu deaktivieren, um die Verzögerungen beim Herunterfahren zu stoppen.
/var/log/system.log
Alternativ, wenn Sie diese Dienste am Laufen halten müssen, kann es sich lohnen, irgendwo ( oder ?) in einigen Protokolldateien nachzusehen, /var/log/devicemgr/*
ob sich der Profilverwaltungsdienst (oder andere) beschwert.
Eine beliebige Anzahl von Diensten auf OS X Server verwenden Postgres. Auf meinem Server verwendet es zum Beispiel das Wiki.
Während der Server noch läuft, versuchen Sie es ps ax | grep postgres | less
und Sie werden wahrscheinlich eine Reihe von Prozessen sehen, die ersten werden mit ziemlicher Sicherheit einige Skripte sein, die Postgres starten, und diese sollten Ihnen mitteilen, wo sich die Protokolle befinden - es wird so etwas wie Sie möchten vielleicht auch -c log_directory=/Library/Server/Wiki/Logs
sagen Sehen Sie sich an /Applications/Server.app/Contents/ServerRoot/usr/bin/xpostgres
, welches Python-Skript zum Starten von Postgres durch Serverdienste verwendet werden sollte.
Dies wird Sie auf den Weg bringen, Ihr Problem zu entdecken.
jstm88