FC5 system() call

Jakub Jelinek jakub at redhat.com
Fri Sep 22 15:49:26 UTC 2006


On Fri, Sep 22, 2006 at 08:38:39AM -0700, Brian D. McGrew wrote:
> Even assuming you mean 
> 
> int num_proc = system("cat /proc/cpuinfo | grep -c processor >>
> /dev/null 2>&1");
> 
> I dont see how this will give you the # of cpus.
> 
> num-proc will only contain the status of the system call, not the result
> of the grep, wont it?
> -----
> 
> You're right, it's giving me the return value from grep, which is 0.  I
> need the string printed by grep ... How can I get this???

You'd need to use popen/fgets/strtol/pclose.  But, to get number of
CPUs you really should be using sysconf (_SC_NPROCESSORS_ONLN), which
is portable and unlike the grep does the right thing.

	Jakub




More information about the fedora-list mailing list