On Sun, 31 Aug 2008 23:25:56 -0700 (PDT), Johny wrote: > To get a number of the http processes running on my Linux( Debia box) > I use > ps -ef | grep "[h]ttpd" | wc -l ... > So my question is: > Is it possible to get a number of the http processes running on Linux > directly from Python ?
Yes, it is. There is a number of third party packages that provide such functionality, including PSI: http://www.psychofx.com/psi/ I never actually liked them, because they are parsing /proc directory by themselves. Thus I wrote my own tool that is a wrapper around procps library (libproc* in your /lib, probably). Your system tools like ps, w or top are using this library. My wrapping library is available at: http://code.google.com/p/procpy/ In your case you could use it like this: >>> import procpy >>> pp = procpy.Proc() >>> for pid in pp.pids: ... if pp.procs[pid]['cmd'] == 'apache2': ... print pp.procs[pid]['tid'] ... 5204 5205 5206 5208 >>> it prints the PIDs of all the apache2 processes on my system. Procpy is fine for my own needs, but if I were about to write a code that is intended to be portable, I'd use PSI. It also is more mature. -- Regards, Wojtek Walczak, http://tosh.pl/gminick/ -- http://mail.python.org/mailman/listinfo/python-list