| Date: | Sat, 29 Apr 2006 11:35:39 +0300 | 
| From: | Diomidis Spinellis <dds@aueb.gr> | 
| Organization: | Athens University of Economics and Business | 
| User-Agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.2) Gecko/20060404 SeaMonkey/1.0.1 | 
| MIME-Version: | 1.0 | 
| Newsgroups: | comp.unix.programmer | 
| Subject: | Re: Get number of running processes | 
| References: | <1146291748.035944.106200@j33g2000cwa.googlegroups.com> | 
| In-Reply-To: | <1146291748.035944.106200@j33g2000cwa.googlegroups.com> | 
| Content-Type: | text/plain; charset=ISO-8859-1; format=flowed | 
| Content-Transfer-Encoding: | 7bit | 
Chris wrote:
> Hi,
> 
> I am looking for an easy way to find the total number of running
> processes on a given machine in a C program (in Linux).  Currently I am
> doing this:
> 
> system("ps -e | wc -l > count.txt");
> 
> then reading the number back into the program from the text file.  I
> was wondering if there was a function call that would do this (ie. int
> count = get_process_count()) rather than perform this  hackish
> workaround.
There is no portable way to do what you want.  Have a look at the source 
of ps(1) or top to see how specific systems store that information. 
However, you can use popen(3) instead of system to avoid going through a 
file.
-- 
Diomidis Spinellis
Code Quality: The Open Source Perspective (Addison-Wesley 2006)
http://www.spinellis.gr/codequality>cup
Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-Share Alike 3.0 Greece License.