Looking for a convenient way in C to retrieve CPU and memory
usage of a process
b. f.
bf1783 at googlemail.com
Sun Dec 27 08:32:41 UTC 2009
>I am looking for a convenient way using C to retrieve the current CPU
>and memory utilization of a process of which I have the pid. Can
>somebody please give me a hint of which system-calls/library-functions
>to use for this ? I don't want to use the system() function or grep for
>information via the /proc filesystem.
>I would be grateful if you could also please mention whether the
>suggested method[s] is/are FreeBSD-specific or would be portable to
>other environments like Solaris/Linux ?
Hmm. Portable, no /proc... ? It could be tough to do this
generically. Why not look at unixtop, which tries to be portable?:
http://sourceforge.net/projects/unixtop/files/
I think on FreeBSD it resorts to using kvm(3). You could just call
that directly. Also, coming soon on FreeBSD, there will be
libprocstat, which aims at making this easier:
http://svn.freebsd.org/viewvc/base/projects/libprocstat/
stas@ is working on that. This kind of question is best suited for
freebsd-hackers@ .
Regards,
b.
More information about the freebsd-questions
mailing list