win32 process name
Keith Dart
kdart at kdart.com
Wed Dec 22 12:14:57 EST 2004
Fredrik Lundh wrote:
> "phil" <phillip.watts at anvilcom.com> wrote:
>
>
>>from win32all
>>EnumProcesses gives me the pids, then
>>OpenProcess(pid) gives me a handle.
>>Then what?
>>GetModuleFileNameEX? It requires two handles as args
>>and I can't figure out which one is the handle from OpenProcess
>>and what it wants for the other one and I can't find any
>>Win32 SDK docs that help.
>
>
> http://msdn.microsoft.com/library/en-us/perfmon/base/getmodulefilenameex.asp
>
> describes a function with two [in] arguments, and one [out] argument.
> the first argument is the process handle, the second a module handle;
> the second argument can be NULL.
>
>
>>This ought to be a nobrainer. But Nooo. Its Windows.
>
>
> it can be pretty tricky on other platforms too; that's why Unix programs usually
> solve this by writing their PID to a file in a known location, so that other programs
> can find them without having to resort to more or less stupid tricks.
>
> </F>
On Linux, you can just scan the /proc directory. This is what the procps
package does. From the command line:
310 $ ps -o cmd --no-heading 867
metalog [MASTER]
In the pyNMS package on sourceforge
(http://sourceforge.net/projects/pynms) there is a module called
Linux.procfs, and in it there is an object called "ProcStat" that lets
you get the process info easily (if running on Linux).
Python> import procfs
Python> procfs.ProcStat(1)
Python> pid1 = procfs.ProcStat(1)
Python> print pid1
cmdline: init [3]
cmaj_flt: 63690958
cmin_flt: 186761321
cnswap: 0
command: (init)
eip: 35
esp: 43
exit_signal: 0
flags: 256
it_real_value: 0
maj_flt: 224
min_flt: 1963
mm_end_code: 134538444
mm_start_code: 134512640
mm_start_stack: 3221225232
nice: 0
nswap: 0
pgrp: 0
pid: 1
ppid: 0
priority: 15
processor: 0
rlim_cur: 4294967295
rss: 117
session: 0
sig_blocked: 0
sig_catch: 671819267
sig_ignore: 1475401980
sig_pending: 0
start_time: 42
state: S
tms_cstime: 731277
tms_cutime: 9593767
tms_stime: 237
tms_utime: 75
tty_nr: 0
tty_pgrp: -1
vsize: 1429504
wchan: 3222957162
--
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Keith Dart <kdart at kdart.com>
public key: ID: F3D288E4
=====================================================================
More information about the Python-list
mailing list