[Q] how to find process id on windows? (anyone have killProcName .py?)

Roger Upole rupole at compaq.net
Wed May 17 20:07:00 EDT 2000


killProcName.py should be in the Python\win32\scripts folder.
(again, it doesn't works on 95 or 98).
                  Roger Upole

"John Nielsen" <nielsenjf at my-deja.com> wrote in message
news:8fv3di$4su$1 at nnrp1.deja.com...
> Even though it sounds simple, it's rather involved.
>
> Here is a python COM object that works on NT and W2K:
>
> john
>
> -----------
>
> import win32pdh, string, win32api
> from win32com.server.exception import COMException
> import win32com.server.util
> import win32com.client.dynamic
>
> #to generate guids use:
> #import pythoncom
> #print pythoncom.CreateGuid()
>
> class pyperf:
>     # COM attributes.
>     _reg_clsid_ = '{763AE791-1D6B-11D4-A38B-00902798B22B}'
>                #guid for your class in registry
>     _reg_desc_ = "get process list and ids"
>     _reg_progid_ = "PyPerf.process" #The progid for this class
>
>     _public_methods_ = ['procids','proclist' ]  #names of callable
> methods
>     def __init__(self):
>         self.object='process'
>         self.item='ID Process'
>     def proclist(self):
>         try:
>             junk, instances =
> win32pdh.EnumObjectItems(None,None,self.object,
> win32pdh.PERF_DETAIL_WIZARD)
>             return instances
>         except:
>             raise COMException("Problem getting process list")
>     def procids(self):
>         #each instance is a process, you can have multiple processes
> w/same name
>         instances=self.proclist()
>         proc_ids=[]
>         proc_dict={}
>         for instance in instances:
>             if proc_dict.has_key(instance):
>                 proc_dict[instance] = proc_dict[instance] + 1
>             else:
>                 proc_dict[instance]=0
>         for instance, max_instances in proc_dict.items():
>             for inum in xrange(max_instances+1):
>                 try:
>                     hq = win32pdh.OpenQuery() # initializes the query
> handle
>                     path = win32pdh.MakeCounterPath(
> (None,self.object,instance, None, inum, self.item) )
>                     counter_handle=win32pdh.AddCounter(hq, path)
> #convert counter path to counter handle
>                     win32pdh.CollectQueryData(hq) #collects data for the
> counter
>                     type, val =
> win32pdh.GetFormattedCounterValue(counter_handle, win32pdh.PDH_FMT_LONG)
>                     proc_ids.append(instance+'\t'+str(val))
>                     win32pdh.CloseQuery(hq)
>                 except:
>                     raise COMException("Problem getting process id")
>
>         proc_ids.sort()
>         return proc_ids
>
> if __name__=='__main__':
>     import win32com.server.register
>     win32com.server.register.UseCommandLine(pyperf)
>
>
>
>
> In article
> <857F15D7E3D8D3118D290008C7CF05862707EB at mail-naeast1.brooks.com>,
>   "Lee, Jaeho" <Jhlee at Brooks.com> wrote:
> > Hello,
> >
> > I want to find process id from process name. I read about
> 'killProcName.py'
> > shows how to do that, in 'python programming on win32'. But I could
> not find
> > it. Anyone can point me where I can find it? Or could you let me know
> how to
> > find process id from process name (on NT 4.0)?
> >
> > Thanks in advance,
> > Jaeho Lee
> >
> >
>
> --
> nielsenjf at my-Deja.com
>
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.





More information about the Python-list mailing list