Ich habe eine Klasse mit den folgenden Elementfunktionen:in Darwin/OSX
/// caller pid
virtual pid_t Pid() const = 0;
/// physical memory size in KB
virtual uint64_t Size() const = 0;
/// resident memory for this process
virtual uint64_t Rss() const = 0;
/// cpu used by this process
virtual double PercentCpu() const = 0;
/// memory used by this process
virtual double PercentMemory() const = 0;
/// number of threads in this process
virtual int32_t Lwps() const = 0;
Diese Klasse Pflicht ist Prozessinformationen über Anrufer zurückzukehren. Die Größe des physischen Speichers kann leicht durch einen sysctl-Aufruf bestimmt werden, und pid ist trivial, aber die verbleibenden Aufrufe sind mir entgangen, abgesehen davon, dass ein Popen auf ps oder top aufgerufen wurde und die Ausgabe analysiert wurde - was nicht akzeptabel ist. Jede Hilfe würde sehr geschätzt werden.
Anforderungen:
Kompilieren auf g ++ 4.0
No obj-c
OSX 10.5
Bitte beschreiben Sie, warum Sie eine Klasse erstellen möchten, die dies tut. Die meisten Programme, die unter Mac OS X laufen, sollten sich um nichts kümmern, was Sie beschrieben haben. Auch "keine Objective-C" ist keine vernünftige Richtlinie bei der Entwicklung für Mac OS X. –