[OSX] Ordentliche Prozessanalyse mit htop

Heute habe ich mich aufgrund eines Problems mit meinem Browser ein wenig damit beschäftigt, wie man ordentliche Informationen über die laufenden Prozesse auf einem Mac bekommt. Dabei steht natürlich ganz oben auf der Liste die standardmäßig installierte Aktivitätsanzeige von OSX. Ganz ehrlich: Was mir das Ding liefert finde ich schlichtweg unbrauchbar.

Also war meine nächste Intention mein gewohntes und "geliebtes" htop auf OSX zum Laufen zu bringen. MacPorts wollte ich dafür nicht extra installieren also selber kompilieren. Sollte eigentlich nicht so das Problem sein, da ich aufgrund meiner Entwicklung von Programmen für OSX sowieso ein Xcode installiert habe.

Im Folgenden mal eine kleine Anleitung für jeden, der htop auch mag und es sich "eben" selber auf den Mac bringen möchte. Es gibt eigentlich nur zwei Voraussetzungen: Bei der Installation vom Xcode muss drauf geachtet worden sein, dass die Option für "Unix Development" angehakt ist. Wenn Ihr das nicht habt: Vergesst es! (Es geht aber ist ein elendes Gefrickel, was ich nicht erklären möchte.) Die zweite Voraussetzung ist ein installiertes GIT. (Inzwischen sollte das Abrufen auch mit SVN gehen aber das müsst Ihr euch dann selber eben für das Repository raussuchen.)

Ab jetzt ist es eigentlich recht einfach und mit den folgenden Befehlen sollte ein fertiges und laufendes htop auf eurem System liegen. Zu einem Befehl sage ich später noch etwas.

git clone git://github.com/AndyA/htop-osx.git
cd htop-osx
git checkout -b osx origin/osx
./autogen.sh
export CFLAGS="-m32"
./configure
make
sudo make install
Wenn bis dahin keine Fehler aufgetreten sind sollte ein "htop" im Terminal euch ein laufendes htop auf den Bildschirm zaubern.

Was die Befehle angeht sollte eigentlich so ziemlich alles klar sein bis auf die CFLAGS-Variable: Die muss auf "-m32" gesetzt werden, da sonst unter SnowLeopard ein 64bit-Binary erzeugt wird. Hört sich im ersten Moment zwar gut an, geht aber im zweiten Moment schief. Der Sourcecode ist nicht auf 64bit optimiert und euch fliegt das htop beim Starten wunderbar mit folgender Fehlermeldung um die Ohren:

htop(6175) malloc: *** error for object 0x100e00: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap
Somit habt Ihr ein lauffähiges htop und könnt schauen was die Prozesse für einen Unsinn treiben.