Guest User

Untitled

a guest
Jun 21st, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.64 KB | None | 0 0
  1. 1 package main
  2. 2
  3. 3 import (
  4. 4 "bufio"
  5. 5 "fmt"
  6. 6 "os"
  7. 7 "os/exec"
  8. 8 )
  9. 9
  10. 10 func main() {
  11. 11 // cmdName := "sar"
  12. 12 // cmdArgs := []string{"-n DEV 1 1"}
  13. 13 cmdName := "vmstat"
  14. 14
  15. 15 // cmdArgs := []string{"-tSm 1 1"} //<--- This works but does
  16. 16 // not produce desired output
  17. 17
  18. 18 cmdArgs := []string{"-t -Sm 1 1"} //<--- This works but does
  19. 19 // not produce desired output
  20. 20
  21. 21 // cmdArgs := []string{"-Sm 1 1", "-t"} //<--- This does NOT work
  22. 22 // cmdArgs := []string{"-t","-Sm 1 1"} //<--- This does NOT work
  23. 23
  24. 24 cmd := exec.Command(cmdName, cmdArgs...)
  25. 25 cmdReader, err := cmd.StdoutPipe()
  26. 26 if err != nil {
  27. 27 fmt.Fprintln(os.Stderr, "Error creating StdoutPipe for Cmd", err)
  28. 28 os.Exit(1)
  29. 29 }
  30. 30
  31. 31 scanner := bufio.NewScanner(cmdReader)
  32. 32 go func() {
  33. 33 for scanner.Scan() {
  34. 34 fmt.Printf("%sn", scanner.Text())
  35. 35 }
  36. 36 }()
  37. 37
  38. 38 err = cmd.Start()
  39. 39 if err != nil {
  40. 40 fmt.Fprintln(os.Stderr, "Error starting Cmd", err)
  41. 41 os.Exit(1)
  42. 42 }
  43. 43
  44. 44 err = cmd.Wait()
  45. 45 if err != nil {
  46. 46 fmt.Fprintln(os.Stderr, "Error waiting for Cmd", err)
  47. 47 os.Exit(1)
  48. 48 }
  49. 49 }
  50.  
  51. # vmstat -t -Sm 1 1
  52. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
  53. r b swpd free buff cache si so bi bo in cs us sy id wa st
  54. 0 1 201 4544 190 7970 0 0 85 32 1 1 1 0 97 2 0 2018-06-21 16:52:13 EDT
  55.  
  56. # vmstat -Sm -t 1 1
  57. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
  58. r b swpd free buff cache si so bi bo in cs us sy id wa st
  59. 0 1 201 4496 191 8012 0 0 85 32 1 1 1 0 97 2 0 2018-06-21 16:52:33 EDT
  60.  
  61. 1 package main
  62. 2
  63. 3 import (
  64. 4 "bufio"
  65. 5 "fmt"
  66. 6 "os"
  67. 7 "os/exec"
  68. 8 )
  69. 9
  70. 10 func main() {
  71. 11 cmdName := "sar"
  72. 12 cmdArgs := []string{"-n DEV 1 1"} //<--- This does NOT work
  73. 13
  74. 14 // cmdArgs := []string{"-n DEV","1 1"} //<--- This does NOT work
  75. 15
  76. 16 cmd := exec.Command(cmdName, cmdArgs...)
  77. 17 cmdReader, err := cmd.StdoutPipe()
  78. 18 if err != nil {
  79. 19 fmt.Fprintln(os.Stderr, "Error creating StdoutPipe for Cmd", err)
  80. 20 os.Exit(1)
  81. 21 }
  82. 22
  83. 23 scanner := bufio.NewScanner(cmdReader)
  84. 24 go func() {
  85. 25 for scanner.Scan() {
  86. 26 fmt.Printf("%sn", scanner.Text())
  87. 27 }
  88. 28 }()
  89. 29
  90. 30 err = cmd.Start()
  91. 31 if err != nil {
  92. 32 fmt.Fprintln(os.Stderr, "Error starting Cmd", err)
  93. 33 os.Exit(1)
  94. 34 }
  95. 35
  96. 36 err = cmd.Wait()
  97. 37 if err != nil {
  98. 38 fmt.Fprintln(os.Stderr, "Error waiting for Cmd", err)
  99. 39 os.Exit(1)
  100. 40 }
  101. 41 }
  102.  
  103. $ sar -n DEV 1 1
  104. Linux 2.6.32-696.18.7.el6.x86_64 (invenioq.gmu.edu) 06/21/2018 _x86_64_ (2 CPU)
  105.  
  106. 05:08:56 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
  107. 05:08:57 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  108. 05:08:57 PM eth0 3.96 0.00 0.24 0.00 0.00 0.00 0.00
  109. 05:08:57 PM eth1 2.97 0.00 0.17 0.00 0.00 0.00 0.00
  110.  
  111. Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
  112. Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
  113. Average: eth0 3.96 0.00 0.24 0.00 0.00 0.00 0.00
  114. Average: eth1 2.97 0.00 0.17 0.00 0.00 0.00 0.00
Add Comment
Please, Sign In to add comment