Commit Graph

268 Commits

Author SHA1 Message Date
Lomanic 27358e8a2f
Merge pull request #840 from devopsext/correct_exit_code_pid_existence
[process][linux] make process.IsRunning() return nil error if process does not exist
2020-02-16 19:10:08 +01:00
Ilya Prudnikov f3598686cb Correct returned error (set to nil) in case process is not exist 2020-02-16 19:03:32 +02:00
shirou a9d510e7e5
Merge pull request #821 from devopsext/process_check_pid_exnistense_fix
Fix check pid existence when running in different process namespace (container)
2020-02-09 01:25:28 +09:00
Ilya Prudnikov 8dec3d81f3 Fix check pid existence when running in different process namespace (container) 2020-01-27 10:56:26 +02:00
Lomanic 1c8ddacaf7 [process][windows] Use win32 API in process.IOCounters() instead of slow WMI call #250 2020-01-26 21:14:23 +01:00
MashaSamoylova 88d9e38aca Change access right in GetProcessTimes call 2019-12-25 18:34:54 +07:00
shirou 61b5bf8cef
Merge branch 'master' into use-x-sys-windows 2019-12-21 10:20:23 +09:00
Dmitri Goutnik 270f6afc22
Add support for freebsd/arm64 2019-12-17 03:12:29 -05:00
Lomanic f586a57353
Merge pull request #796 from Lomanic/issue795
[process][darwin][openbsd][freebsd] Fix #795 don't truncate process names to 16 characters
2019-12-15 23:31:26 +01:00
Lomanic 8e4dde660a [process][darwin] Fix Test_Process_Status and Status returning more than status letter 2019-12-07 00:39:46 +01:00
Lomanic e7090ba9fc [process] Fix Test_Children test regression because of some other running test 2019-12-01 20:24:34 +01:00
Lomanic 1fcea92f73 [process] Skip if not implemented Test_IsRunning (for openbsd) 2019-12-01 19:31:54 +01:00
Lomanic e4f087a4af [process] Test process.Name() with long names #795 2019-12-01 19:31:48 +01:00
Lomanic 4f0e679e35 [process][darwin][openbsd][freebsd] Fix #795 don't truncate process names to 16 characters 2019-12-01 17:54:08 +01:00
Lomanic e34a731c69 [process] Fix #773 remove data race in NewProcess
Reproduction case https://github.com/shirou/gopsutil/issues/773#issuecomment-554723678
2019-11-17 20:17:23 +01:00
Tobias Klauser a61c905252 Use golang.org/x/windows functions instead of github.com/shirou/w32
All functions used from github.com/shirou/w32 are also available from
golang.org/x/sys/windows which is already used in other places. Convert
the remaining usages to use the functions from x/sys/windows.
2019-11-10 17:34:52 +01:00
Laurent Sesques b3cfb9abc3 Revert "[process] Fix #599 cap percent values returned by *Percent() between 0 and 100"
This reverts commit f4e23559a2.
Fixes #755
2019-10-15 14:25:43 +02:00
Lomanic 547679f88e [process] Fix #760 implement IsRunning by checking process with same PID has same CreateTime as current process 2019-09-07 18:54:49 +02:00
shirou 84e6215770
Merge pull request #759 from Lomanic/windows-process-connections
[process][windows] Implement Connections() using net.ConnectionsPid()
2019-09-07 13:33:14 +09:00
shirou 56ed89e0cf
Merge pull request #758 from Lomanic/process-cleanup
[process] Propagate context internally on linux and improve tests
2019-09-07 13:32:35 +09:00
Lomanic f5131dc333 [process][windows] Implement Connections() using net.ConnectionsPid() 2019-09-05 23:18:29 +02:00
Lomanic f09ba75b25 [process] Skip tests on non-implemented platforms #446 and fix Kill/Children tests on windows 2019-09-05 18:48:00 +02:00
Lomanic 6f5b1dbee7 [darwin][process] Add cgo implementation of Exe() from PR #243
Original from ppanyukov 4473014098
2019-09-05 18:36:32 +02:00
Lomanic f49203762b [process] Fix Connections() test with goroutines listening/connecting on TCP 2019-09-05 11:07:08 +02:00
Lomanic 36aa63bdd1 [process][linux] Propagate context internally 2019-09-04 19:47:23 +02:00
Lomanic 3eefe64948 [process] Fix #752 sort PIDS returned by process.Pids() 2019-08-24 09:08:28 +02:00
Lomanic 58dc3b28aa [process][windows] Amend last commit, don't wrap err in NumThreads() 2019-08-17 22:02:16 +02:00
Lomanic 9a445d5f6a [process][windows] Use win32 API in process.NumThreads() instead of slow WMI call 2019-08-16 19:06:18 +02:00
Lomanic 3465186bca [process] Fix #729 check process existence in NewProcess() 2019-08-01 21:12:48 +02:00
shirou 3ad4fbbb0c
Merge pull request #715 from Lomanic/issue599process
[process] Fix #599 cap percent values returned by *Percent() between 0 and 100
2019-07-27 21:45:36 +09:00
Lomanic f4e23559a2 [process] Fix #599 cap percent values returned by *Percent() between 0 and 100 2019-07-07 20:24:04 +02:00
Lomanic 4a95469fc9 [process][windows] Fix #607 check pid existence with OpenProcess+GetExitCodeProcess
Reference https://stackoverflow.com/a/600217
2019-07-07 17:32:31 +02:00
Lomanic 4ad0300e1e [process][windows] Remove magic numbers and useless constants 2019-07-07 17:32:26 +02:00
Lomanic 5b15bc623c [process][posix] Fix #607 check pid existence with a signal instead of listing every pids
Reference 0d6b91e916/lockfile_unix.go
2019-07-07 16:41:13 +02:00
shirou 14ba67b0ab
Merge pull request #706 from Lomanic/windows-process-nice
[process][windows] Use win32 API in process.Nice() instead of slow WMI call
2019-07-06 11:20:58 +09:00
Lomanic f036e8b9e8 [process][windows] Deduplicate repeated code in CreateToolhelp32Snapshot related functions 2019-06-23 17:00:41 +02:00
Lomanic 2ac72f1fa1 [process][linux] Fix NewProcess() on Linux
Related to #704.
Don't break previous API where a Process is always returned, fix undefined variable p.
2019-06-23 15:52:01 +02:00
Lomanic 99169acbd8
Merge pull request #704 from josedh/master
preventing file open and bad defer close call
2019-06-23 15:50:08 +02:00
Jose De La O 258343806a Preventing file open and bad defer close. Allocating mem as late as
possible
2019-06-21 17:26:52 -04:00
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
Tyler Dixon 4e81681ab3 code review 2019-05-24 09:48:27 -07:00
Tyler Dixon a02925055c Remove cycle between process and host packages
gopsutil is a transitive dependency of another project that I am integrating
into an internal build system. We target multiple platforms and as a part
of the build system for the large internal repo, we calculate the build
graph used to determine what targets have changed and need to be build /
tested as a single DAG for all platforms.

gopsutil currently does not form a DAG if linux and any other platform are
considered at the same time. linux is the only platform where the process
package imports the host package.

To remove this cycle, the relevant methods have been moved to internal/common
with the linux build tag and are consumed the host and process packages.
2019-05-22 17:45:50 -07:00
Lomanic 0e0dd767df [process][darwin] Fix #670 remove call to common.Pipeline (prone to race condition)
Also properly parse lsof to get second txt record instead of hoping the 5th line is the right one (wrong data returned for pid 57)
2019-05-08 18:17:56 +02:00
mingrammer 64a995aad4 Refactor with gofmt 2019-03-23 21:57:24 +09:00
Liam Xu 1b525b7c9c Return cpu time format error
Return cpu time format error
2019-03-22 11:44:52 -07:00
Liam Xu f2f18df9db Use Swith to replace if else
Use Swith to replace if else
2019-03-22 10:21:01 -07:00
Xu Lian 6eb4d73bde Fix an indentation issues 2019-03-18 20:36:12 -07:00
Liam Xu b3670f8027 Add hour handling in convertCPUTimes function
This commit add hour handling in convertCPUTimes function.

The time string usually comes from macOS command line:
ps -a -o stime,utime -p <pid>

which could contain hour string.
2019-03-18 15:48:08 -07:00
mingrammer 017c9f9cbc Fix typos 2019-03-18 02:52:26 +09:00