From: Brad Date: 2006-06-12T01:14:14+09:00 Subject: Re: Getting a list of Processes ReggW wrote: > Brad wrote: >> ReggW wrote: >>> How do you get a list of running Processes using Ruby? >>> >>> P.S. I'm on Windows >>> >>> Thanks >> >> Use something like this... it works great: >> >> def get_process_info() >> procs = WIN32OLE.connect("winmgmts:\\\\.") >> procs.InstancesOf("win32_process").each do |p| >> puts p.name.to_s.downcase >> end >> end > > Thanks Brad...this is what I'm looking for, and it's extremely powerful! Sure, no problem... also, you can list more than the process name. I like to show the PID and the executablepath, etc. Here are other process items you might like to examine: class Win32_Process : CIM_Process { string Caption; string CommandLine; string CreationClassName; datetime CreationDate; string CSCreationClassName; string CSName; string Description; string ExecutablePath; uint16 ExecutionState; string Handle; uint32 HandleCount; datetime InstallDate; uint64 KernelModeTime; uint32 MaximumWorkingSetSize; uint32 MinimumWorkingSetSize; string Name; string OSCreationClassName; string OSName; uint64 OtherOperationCount; uint64 OtherTransferCount; uint32 PageFaults; uint32 PageFileUsage; uint32 ParentProcessId; uint32 PeakPageFileUsage; uint64 PeakVirtualSize; uint32 PeakWorkingSetSize; uint32 Priority; uint64 PrivatePageCount; uint32 ProcessId; uint32 QuotaNonPagedPoolUsage; uint32 QuotaPagedPoolUsage; uint32 QuotaPeakNonPagedPoolUsage; uint32 QuotaPeakPagedPoolUsage; uint64 ReadOperationCount; uint64 ReadTransferCount; uint32 SessionId; string Status; datetime TerminationDate; uint32 ThreadCount; uint64 UserModeTime; uint64 VirtualSize; string WindowsVersion; uint64 WorkingSetSize; uint64 WriteOperationCount; uint64 WriteTransferCount; }; -- Posted via http://www.ruby-forum.com/.