本站源代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.1KB

  1. // Copyright 2019 The Prometheus Authors
  2. // Licensed under the Apache License, Version 2.0 (the "License");
  3. // you may not use this file except in compliance with the License.
  4. // You may obtain a copy of the License at
  5. //
  6. // http://www.apache.org/licenses/LICENSE-2.0
  7. //
  8. // Unless required by applicable law or agreed to in writing, software
  9. // distributed under the License is distributed on an "AS IS" BASIS,
  10. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. // See the License for the specific language governing permissions and
  12. // limitations under the License.
  13. package procfs
  14. import (
  15. "io/ioutil"
  16. "os"
  17. "strings"
  18. )
  19. // Environ reads process environments from /proc/<pid>/environ
  20. func (p Proc) Environ() ([]string, error) {
  21. environments := make([]string, 0)
  22. f, err := os.Open(p.path("environ"))
  23. if err != nil {
  24. return environments, err
  25. }
  26. defer f.Close()
  27. data, err := ioutil.ReadAll(f)
  28. if err != nil {
  29. return environments, err
  30. }
  31. environments = strings.Split(string(data), "\000")
  32. if len(environments) > 0 {
  33. environments = environments[:len(environments)-1]
  34. }
  35. return environments, nil
  36. }
上海开阖软件有限公司 沪ICP备12045867号-1