1
0
mirror of https://github.com/shirou/gopsutil.git synced 2025-05-10 19:29:14 +08:00

32 Commits

Author SHA1 Message Date
shirou
7ffa844cd5
Merge pull request #1075 from scop/feat/improve-solaris-exe
[process][solaris] improve Exe portability
2021-05-29 13:27:54 +09:00
Lomanic
8775def991
Merge pull request #1072 from djs55/externproc-arm64
process: fix ExternProc on Apple Silicon / Darwin arm64
2021-05-27 20:57:52 +02:00
David Scott
0a281012db process: change all pointers to uint64 in ExternProc for darwin arm64
This is the arm64 version of the change in
20c3ddbfe528ec30c19d786875383d7753702a9b

Before this patch:
```
dave@m1 process % GO111MODULE=off CGO_ENABLED=0 go test
--- FAIL: Test_Process_Name (0.00s)
    process_test.go:312: invalid Exe
--- FAIL: Test_Process_Long_Name_With_Spaces (0.22s)
    process_test.go:357: loooong name with spaces.go.exe !=
--- FAIL: Test_Process_Long_Name (0.22s)
    process_test.go:402: looooooooooooooooooooong.go.exe !=
--- FAIL: Test_Username (0.00s)
    process_test.go:593:
        	Error Trace:	process_test.go:593
        	Error:      	Not equal:
        	            	expected: "dave"
        	            	actual  : "root"

        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1 +1 @@
        	            	-dave
        	            	+root
        	Test:       	Test_Username
    process_test.go:595: root
FAIL
exit status 1
FAIL	github.com/shirou/gopsutil/process	9.955s
```

After this patch:
```
dave@m1 process % GO111MODULE=off CGO_ENABLED=0 go test
PASS
ok  	github.com/shirou/gopsutil/process	9.784s
dave@m1 process % GO111MODULE=off CGO_ENABLED=1 go test
PASS
ok  	github.com/shirou/gopsutil/process	3.180s
```

Signed-off-by: David Scott <dave@recoil.org>
2021-05-24 11:04:41 +01:00
Ville Skyttä
f43138a3ff [process][solaris] improve Exe portability
Resolving from path/a.out seems more portable than from execname.
2021-05-19 22:29:21 +03:00
shirou
9a5f86a30e
Merge pull request #1065 from scop/feat/solaris-process-some
Basic Solaris process support
2021-05-19 22:08:00 +09:00
Ville Skyttä
e35ae34dce [process][solaris] process basics 2021-05-08 16:54:12 +03:00
Ville Skyttä
b7d717ba80 [process][posix] use os.Lstat for symlink check
unix.DT_LNK is not portable; per glibc docs it's a BSD extension. It is
not available e.g. in Solaris.
https://www.gnu.org/software/libc/manual/html_node/Directory-Entries.html#index-DT_005fLNK

As a side effect, fixes incorrect equality comparison against
Stat_t.Mode, a bitmask.
2021-05-08 16:46:56 +03:00
shirou
2fa855f295 add MockEnv as more generic function. 2021-05-08 21:18:46 +09:00
shirou
abacce2177 [process][linux] add test to parse fillFromStatus 2021-05-08 20:56:46 +09:00
shirou
008b5a41ef
Merge pull request #1060 from heptalium/master
Fix fillFromStatusWithContext() on systems with 128 bit signal masks.
2021-05-08 18:52:36 +09:00
Jens Meißner
14a1f64e7e
[v3][process][linux] Fix fillFromStatusWithContext() on systems with 128 bit signal masks. 2021-04-25 17:35:07 +02:00
Damilola Bello
61c36c7b8c Make limitToUint parse to uint instead of int 2021-04-23 21:30:29 -04:00
Lomanic
c7a38de76e
Merge pull request #1052 from gballet/openbsd-arm-support
add support for OpenBSD arm64
2021-04-19 02:08:35 +02:00
shirou
79048ccbfa
Merge pull request #1035 from jblesener/fixmacosspaces
Fix spaces on long process names for MacOS
2021-04-01 20:21:38 +09:00
John Blesener
07797b12d3
Make cmdNameWithContext lower-case to avoid exporting it
Signed-off-by: John Blesener <jblesener@reactivelabs.com>
2021-03-27 17:14:18 +09:00
Guillaume Ballet
992d17af94 add support for OpenBSD arm64 2021-03-23 15:29:27 +01:00
Lomanic
0881c11a9a [process][posix] Fix #1049 check if procfs is mounted before checking if pid exists there
Benchmark before this change (process.NewProcess() calls process.PidExistsWithContext()
internally)

    go test -bench=BenchmarkNewProcess github.com/shirou/gopsutil/process
    goos: linux
    goarch: amd64
    pkg: github.com/shirou/gopsutil/process
    BenchmarkNewProcess-4              14722             78751 ns/op
    PASS
    ok      github.com/shirou/gopsutil/process      3.685s

Benchmark with this change applied

    go test -bench=BenchmarkNewProcess github.com/shirou/gopsutil/process
    goos: linux
    goarch: amd64
    pkg: github.com/shirou/gopsutil/process
    BenchmarkNewProcess-4              14835             80180 ns/op
    PASS
    ok      github.com/shirou/gopsutil/process      3.761s
2021-03-18 23:55:59 +01:00
Lomanic
62d8920abb [process][windows] Fix #714 call OpenProcess with PROCESS_QUERY_INFORMATION on WinXP 2021-03-06 22:53:54 +01:00
shirou
a5a07ae83c [process][linux] apply #1033 to v3. 2021-03-01 20:23:37 +09:00
John Blesener
e8b2bea47f
Fix spaces on long process names for MacOS 2021-02-16 14:51:44 +09:00
Paweł Zuzelski
17c03b3b2d Clarify the godoc of the Children function.
The previous godoc string was slightly confusing and only described information that can be deduced from the function signature.
2021-02-04 18:03:52 +01:00
shirou
a9a6146c93 [process] fix MemoryInfo comment. remove Swap
fixes #1012
2021-01-14 19:00:55 +09:00
Rishabh Arya
5b1d8ecae7 fix smap parser 2021-01-03 21:06:54 +05:30
Antoine Jacoutot
0178a24563 v3/process: unbreak on OpenBSD
Fix camel case: GetpageSizeWithContext -> GetPageSizeWithContext
2020-11-29 11:53:05 +01:00
Lomanic
318614d7ed [v3][process][darwin] Fix test Test_Pids_Fail missing testdata folder 2020-11-08 17:26:21 +01:00
Lomanic
995610e109 [process][windows] Fix Nice() test expecting Unix values 2020-11-08 17:13:56 +01:00
Lomanic
5641beec4c [process][darwin] Fix Parent() when lsof returns warnings
Same as #867, the error being:
error strconv.Atoi: parsing "      Output information may be incomplete.": invalid syntax
2020-11-08 17:13:56 +01:00
Lomanic
148a662b06 [process][darwin] Remove Groups() as it's non-functional 2020-11-08 17:13:56 +01:00
Lomanic
907e475a45 [v3][process] Fix Test_Process_Status test with new Status() API 2020-11-08 17:13:56 +01:00
shirou
8e2446b0ac [v3][process] apply #962 2020-10-31 23:39:29 +09:00
shirou
b7e74218ca [v3 migration] change process.Status returns []string with no letter status string. 2020-10-31 23:29:25 +09:00
shirou
005a35c436 [v3 migartion] add v3 sourcodes, and change disk.opts to []string 2020-10-31 23:29:24 +09:00