2

Are there any open source project that is like "C:\Windows\System32\Taskmgr.exe" on Windows 10?

The feature include the list of system processes and resource they are using,and real time statistics of system resource occupation e.g. CPU/disk IO/network IO/memory.

There seems to be no open source projects about this that have enough feature to replace the build in one.

It's better if it is a library to get the above system information and we can develop UI/tools based on it.

6
  • Your question seems to ask for general discussion instead of a specific alternative. Read the tour/help for what this site is about: software recommendations. Then edit (or delete) your question.
    – user416
    Mar 27, 2019 at 9:40
  • I first posted it on StackOverflow and people there tell me to post it here.Then where can I post it now?My need is clear:are there such open source project or library?If yes,what are they?If no,question done.
    – jw_
    Mar 27, 2019 at 9:50
  • Then (again) rewrite your question so that it clearly is asking for a software recommendation and leave the irrelevant texts out. You don't start with "How to write...", that is off topic here. Please read this.
    – user416
    Mar 27, 2019 at 9:53
  • I haven't tried this, but you may be able to copy the task manager from a ReactOS image/installation. Apr 27, 2019 at 0:26
  • @ QwertyChouskie can you provide a link? I think ROS is dead....
    – jw_
    Apr 27, 2019 at 15:00

2 Answers 2

1

Daphne is one that comes in mind http://www.drk.com.ar/daphne.php

Daphne is a small (system tray) application for killing, controlling and debugging Windows' processes. It was born to kill a Windows process and became almost a task manager replacement. You can kill a process by dragging the mouse over the windows, by right-clicking the process in the main process list, or by typing its name with the "Kill all by name" command. You can set a any window to be always on top, to be transparent, to be enable, et cetera.

Source code can be found here http://www.drk.com.ar/daphne.php#Contribute and the license is GNU General Public License.

enter image description here

1
  • Does it support real time process IO occupation and system resource utilization?That's my main need-----to figure out quickly at any time why my computer is slow(CPU/memory/disk 100% and which process is the source of problem)
    – jw_
    Mar 28, 2019 at 0:34
1

Here comes my obligatory python answer:

There is a python library called psutil which gives you full programmatic access to the running processes, and a lot more, from the command line or REPL.

  • Open Source - BSD Licence
  • List Processes & Resources Yes
  • Allow you to write your own UI Yes
  • Also allows control of processes.
  • Not just Windows Windows, macOS, Linux, FreeBSD, OpenBSD, NetBSD, Solaris, AIX
  • 32 & 64 bit
  • There are a number of projects which add a GUI to it
  • Nice documentation
  • Lots of other functionality.
In [1]: import psutil

In [2]: proc = psutil.Process()

In [3]: pd = proc.as_dict()

In [4]: pd.keys()
Out[4]: dict_keys(['cmdline', 'memory_full_info', 'num_threads', 'username', 'name', 'num_handles', 'open_files', 'memory_percent', 'pid', 'create_time', 'memory_maps', 'connections', 'exe', 'nice', 'cpu_times', 'environ', 'ionice', 'cwd', 'io_counters', 'cpu_percent', 'num_ctx_switches', 'threads', 'cpu_affinity', 'memory_info', 'ppid', 'status'])

In [5]: proc.exe()
Out[5]: 'C:\\python36_64\\python.exe'

In [6]: proc.memory_full_info()
Out[6]: pfullmem(rss=71438336, vms=61792256, num_page_faults=36033, peak_wset=71516160, wset=71438336, peak_paged_pool=190608, paged_pool=190312, peak_nonpaged_pool=43952, nonpaged_pool=41648, pagefile=61792256, peak_pagefile=61939712, private=61792256, uss=64483328)

It can even handle Windows services:

In [7]: services = list(psutil.win_service_iter())

In [8]: services
[<WindowsService(name='ABBYY.Licensing.ScreenshotReader.Windows.11.0', display_name='ABBYY Screenshot Reader 11 - Licensing Service') at 1163743151384>,

 <WindowsService(name='AJRouter', display_name='AllJoyn Router Service') at 1163743153008>,
 <WindowsService(name='ALG', display_name='Application Layer Gateway Service') at 1163743151832>,
 <WindowsService(name='AMD External Events Utility', display_name='AMD External Events Utility') at 1163743153904>,
 <WindowsService(name='AppIDSvc', display_name='Application Identity') at 1163743152504>,
 <WindowsService(name='Appinfo', display_name='Application Information') at 1163743151496>,
 <WindowsService(name='AppMgmt', display_name='Application Management') at 1163743152000>,
...................

In [10]: s = services[0]                                                                                        

In [11]: s.name(), s.pid()                                                                                     
Out[11]: ('ABBYY.Licensing.ScreenshotReader.Windows.11.0', 4508)                                               

In [12]: sp = psutil.Process(4508)                                                                             

In [13]: sp.cpu_percent()                                                                                      
Out[13]: 0.0                                                                                                   

In [14]: sp.cmdline()                                                                                          
Out[14]:                                                                                                       
['C:\\Program Files (x86)\\Common Files\\ABBYY\\ScreenshotReader\\11.00\\Licensing\\NetworkLicenseServer.exe', 
 '-service']                                                                                                   


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.