1
0
mirror of https://github.com/shirou/gopsutil.git synced 2025-04-26 13:48:59 +08:00

114 Commits

Author SHA1 Message Date
Lomanic
cf9aa4a8ec [process][windows] Use win32 API in process.Nice() instead of slow WMI call
Convert priority classes values to their WMI equivalent for backward
compatiblity.
2019-06-18 22:41:35 +02:00
Lomanic
47323f9ad5 [process][windows] Fix #586 use win32 API in process.Exe() instead of slow WMI call
This is faster by a factor of 100.

References:
5f4287d17f/psutil/_pswindows.py (L221)
921870d540/psutil/_psutil_windows.c (L1211)
921870d540/psutil/_psutil_windows.c (L626)
2019-06-16 23:03:27 +02:00
Lomanic
41e774419f
Merge pull request #643 from wcc526/master
Update process_linux.go for Add process ConnectionsMax
2019-02-23 21:23:09 +01:00
wcc526
462e0f6c2f Update process_linux.go for Add process ConnectionsMax 2019-02-23 18:55:31 +08:00
shirou
48b37fa45e
Merge pull request #616 from nefeli/linux_page_faults
[process][linux] Export process page fault info
2019-01-13 16:56:41 +09:00
Lomanic
4104adff3e [process][windows] Fix #466 add SeDebugPrivilege to current process 2018-12-22 19:30:50 +01:00
Lomanic
a5ace91cce [process][windows] Propagate context internally 2018-12-20 23:41:38 +01:00
Lomanic
e5ca4477a1 [process][windows] WIP #586 use win32 API in process.Exe but fallback on WMI
This method only lets a 32bit program get other 32bit processes exe path
and a 64bit program get other 64bit processes exe path, so we fallback to
the slow (but kind of reliable) WMI calls if we can't access to the other
process module.
2018-12-20 23:16:25 +01:00
David Naylor
414c76f159 [process][linux] Export process page fault info
Add a function for retrieving page fault counts from /proc/[pid]/stat on
Linux.
2018-12-13 16:19:40 -08:00
Lomanic
8002bddf3f Merge branch 'master' into issue596 2018-12-08 18:49:40 +01:00
Lomanic
6b539051d2 [process][windows] Use win32 API in process.Children() instead of slow WMI call
The CreateToolhelp32Snapshot+Process32First+Process32Next combo already
iterates over all processes, so it would be inefficient to enumerate all
processes with process.Processes() and then calling p.Ppid() on each of
them: we just use this combo to get all processes and their ppid in a
single iteration.

This is faster by a factor of 25 compared to the previous WMI call.
2018-11-18 20:22:18 +01:00
Lomanic
878e0a701b Fix #596 Implement process.Background and process.Foreground functions 2018-11-08 20:52:01 +01:00
Lomanic
82b8111d04 [process][darwin] Fix #573 use Pids() to get processes in Processes() 2018-09-01 16:17:19 +02:00
Lomanic
ef54649286 [windows] Use windows.NewLazySystemDLL to (possibly) prevent DLL hijacking
Might be useless because of https://docs.microsoft.com/en-us/windows/desktop/dlls/dynamic-link-library-search-order#search-order-for-desktop-applications
but better be safe than sorry.

Ref: https://github.com/shirou/gopsutil/issues/570#issuecomment-413951653
2018-08-18 22:52:41 +02:00
Lomanic
6ddbb8c5d8 [process][windows] Reuse Ppid() in Parent(), don't use slow wmi call 2018-07-14 20:56:20 +02:00
Michal Rostecki
91ac1d66ac process: Check for error objects 2018-06-21 16:53:53 +02:00
Michael Schurter
b11d0a7942
typo: wich -> which 2018-02-27 11:27:49 -08:00
sada
8dd42707e2 windows: fix WithContext functions
set timeout only if parent context doesn't set.
2018-02-12 13:26:17 -08:00
shirou
6a368fb7cd [process]: add ProcessesWithContext. 2018-01-11 11:47:13 +09:00
shirou
cd61c36c4f
Merge branch 'master' into feature/add_context_support 2018-01-09 11:18:25 +09:00
Nick Kirsch
fb24c70d36 Add ErrNotImplementedError for Tgid support. 2018-01-05 11:37:36 -08:00
shirou
4c73494c78 Add WithContext functions. 2017-12-31 15:25:49 +09:00
shirou
27389f01ec
Merge pull request #459 from shirou/feature/implements_process_kill_on_windows
[process]windows: implements process.Kill using os/exec
2017-12-14 15:29:47 +09:00
leaf
65598d98cc To prevent hang if wmi.Query hangs, add a context-aware wrapper for it. 2017-11-20 10:13:27 -08:00
WAKAYAMA shirou
f5e19d7e16 [process]windows: implements process.Kill using os/exec 2017-11-18 22:43:54 +09:00
Lomanic
00bdebfce7 Use getFromSnapProcess to get process Name and Ppid on Windows instead of slow WMI 2017-11-12 21:59:17 +01:00
Lomanic
da12f10f63 Use w32.EnumerateProcesses instead of slower wmi in windows process.Processes() 2017-11-12 21:13:39 +01:00
Lomanic
c9a24cf2d0 Handle case in Windows process.Pids() where buffer is too small to handle that many processes returned by w32.EnumProcesses 2017-11-12 16:40:35 +01:00
Lomanic
0314bc81f3 Use w32.EnumProcesses to get pids on Windows in process.Pids() 2017-11-12 03:08:47 +01:00
tycho garen
08a382b207 make process.processes function public 2017-11-05 20:40:33 -05:00
mlkm
b9ab45bcdd Implement Process.Times for Windows 2017-10-13 16:17:51 +02:00
John Liu
d28c254aaf Improve performance of finding child processes on Windows 2017-10-06 12:23:54 -04:00
Leonid Podolny
7ee4a4c6ff Fix Threads() signature to better match python original 2017-10-04 15:38:01 -04:00
Leonid Podolny
7ad3836ad3 Implement Threads() for Linux 2017-10-04 15:38:01 -04:00
shirou
a452de7c73 Merge pull request #346 from phemmer/rlimit-current
add current values to rlimit retrieval
2017-08-31 11:58:10 +09:00
shirou
f6b70e303c Merge pull request #387 from tychoish/windows-data-collection
collect more data on windows
2017-07-26 22:36:00 +09:00
Derek Brown
a3ae2ed411 Add domain to username (rather than naked username) 2017-07-06 15:08:46 -07:00
tycho garen
d522bf5b7e collect more data on windows 2017-07-02 14:42:22 -04:00
Derek Brown
5157f03748 [windows] add implementation for process.Username() 2017-06-28 11:16:01 -07:00
Sean Chittenden
cb12fba4f4
windows.Syscall doesn't exist: use syscall.Syscall() 2017-06-03 08:07:30 -07:00
Sean Chittenden
3e79194fe2
windows.EINVAL doesn't exist, only syscall.EINVAL. 2017-06-03 07:48:40 -07:00
Sean Chittenden
635b971c0e
Move from the syscall package to the golang.org/x/sys/{unix,windows} 2017-06-02 13:51:00 -07:00
Patrick Hemmer
60c32eb847 add current values to rlimit retrieval 2017-06-01 16:38:44 -04:00
Nex
d44bd00182 Added Terminate() for Windows 2016-10-11 15:19:00 +02:00
Diptanu Choudhury
af4c8608c9 Casting the values of working set and page file to uint64 2016-06-22 16:22:37 -07:00
WAKAYAMA Shirou
ba34a3af8c [process]windows: add IO counters and fix CreateTime 2016-05-04 23:25:43 +09:00
WAKAYAMA Shirou
903277ce2f [process]windows: implement process.MemoryInfo (but no swap) 2016-05-04 22:39:44 +09:00
Shirou WAKAYAMA
613a8a90e1 fixed by golint. 2016-04-01 21:34:39 +09:00
Shirou WAKAYAMA
46ddd57c72 process has NetIOCounters and IOCounters. 2016-03-22 23:23:08 +09:00
Shirou WAKAYAMA
ea152ea901 [BREAKING CHANGE] rename functions to pass golint. ex) net.NetIOCounters -> net.IOCounters 2016-03-22 23:09:12 +09:00