func Process(pid int) (types.Process, error) {
	provider := registry.GetProcessProvider()
	if provider == nil {
		return nil, types.ErrNotImplemented
	}
	return provider.Process(pid)
}
Process returns a types.Process object representing the process associated
with the given PID. The types.Process object can be used to query information
about the process.  If process information collection is not implemented for
this platform then types.ErrNotImplemented is returned.
package sysinfo
import (
	"runtime"
	"github.com/elastic/go-sysinfo/internal/registry"
	"github.com/elastic/go-sysinfo/types"
	_ "github.com/elastic/go-sysinfo/providers/aix"
	_ "github.com/elastic/go-sysinfo/providers/darwin"
	_ "github.com/elastic/go-sysinfo/providers/linux"
	_ "github.com/elastic/go-sysinfo/providers/windows"
)
func Go() types.GoInfo {
	return types.GoInfo{
		OS:       runtime.GOOS,
		Arch:     runtime.GOARCH,
		MaxProcs: runtime.GOMAXPROCS(0),
		Version:  runtime.Version(),
	}
}
func Host() (types.Host, error) {
	provider := registry.GetHostProvider()
	if provider == nil {
		return nil, types.ErrNotImplemented
	}
	return provider.Host()
}