2009-12-31 4 views
7

Die Funktion "Beispielprozess" im Aktivitätsmonitor ist sehr nützlich. Ich muss jedoch dasselbe (Samples) eines bestimmten Prozesses von einem anderen laufenden Prozess (C/C++) oder einer Befehlszeile ausführen.Beispiel für einen Prozess unter Mac OS X aus einem C/C++ - Programm

Gibt es eine Möglichkeit, dies zu tun? Ich habe seit ein paar Tagen dafür ohne Glück gegoogelt.

Antwort

12

Es gibt ein Befehlszeilenprogramm sample.

Beispiel:

sample Safari -file /dev/stdout 

Es wird genau das bekommen, die gleiche Leistung mit Activity Monitor.

+0

Dank Lamamac, genau das, was ich gesucht habe. – Chirag

+0

Drei Cheers für Stack Overflow !! Oh ja, und zu @iamamac. – macetw

2

Es gibt einige wenige Commandline-Anwendungen, die sich als nützlich erweisen: sample und top. Wenn Sie Ihr eigenes Programm schreiben möchten, können Sie die sysctl system call verwenden, um solche Informationen zu erhalten. Es ist jedoch ziemlich langweilig.

Ich würde empfehlen, procfs file system (mit MacFUSE) zu installieren. Dies würde ein neues "Verzeichnis" unter /proc schaffen, das eine Menge nützlicher Informationen für jede Anwendung enthält (z. B. Speichernutzung, CPU-Nutzung, Sperren, geöffnete Dateien, Sockets, Threads usw.). Die Site gibt ein Beispiel, wie auf sie zugegriffen werden kann. Dann können Sie einfach Ihren Zugriff auf diese Dateien skripten.

+0

Danke für Ihre Antwort. Ich werde mir die anderen Möglichkeiten ansehen, die Sie gegeben haben. – Chirag