open-nomad/vendor/github.com/mitchellh/go-ps
Seth Hoenig 435c0d9fc8 deps: Switch to Go modules for dependency management
This PR switches the Nomad repository from using govendor to Go modules
for managing dependencies. Aspects of the Nomad workflow remain pretty
much the same. The usual Makefile targets should continue to work as
they always did. The API submodule simply defers to the parent Nomad
version on the repository, keeping the semantics of API versioning that
currently exists.
2020-06-02 14:30:36 -05:00
..
.gitignore deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
.travis.yml deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
LICENSE.md
process.go
process_darwin.go
process_freebsd.go deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
process_linux.go
process_solaris.go
process_unix.go
process_windows.go
README.md deps: Switch to Go modules for dependency management 2020-06-02 14:30:36 -05:00
Vagrantfile

Process List Library for Go GoDoc

go-ps is a library for Go that implements OS-specific APIs to list and manipulate processes in a platform-safe way. The library can find and list processes on Linux, Mac OS X, Solaris, and Windows.

If you're new to Go, this library has a good amount of advanced Go educational value as well. It uses some advanced features of Go: build tags, accessing DLL methods for Windows, cgo for Darwin, etc.

How it works:

  • Darwin uses the sysctl syscall to retrieve the process table.
  • Unix uses the procfs at /proc to inspect the process tree.
  • Windows uses the Windows API, and methods such as CreateToolhelp32Snapshot to get a point-in-time snapshot of the process table.

Installation

Install using standard go get:

$ go get github.com/mitchellh/go-ps
...

TODO

Want to contribute? Here is a short TODO list of things that aren't implemented for this library that would be nice:

  • FreeBSD support
  • Plan9 support