Advertisement
Guest User

Untitled

a guest
May 24th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "io/ioutil"
  6. "os/exec"
  7. "time"
  8. )
  9.  
  10. func run() {
  11. cmd := exec.Command("/bin/sh", "-c", "ping 127.0.0.1")
  12. _, err := cmd.Output()
  13. if err != nil {
  14. panic(err.Error())
  15. }
  16.  
  17. if err := cmd.Start(); err != nil {
  18. panic(err.Error())
  19. }
  20.  
  21. if err := cmd.Wait(); err != nil {
  22. panic(err.Error())
  23. }
  24. }
  25.  
  26. func main() {
  27. go run()
  28. time.Sleep(1e9)
  29.  
  30. cmd := exec.Command("/bin/sh", "-c", `ps -ef | grep -v "grep" | grep "ping"`)
  31. stdout, err := cmd.StdoutPipe()
  32. if err != nil {
  33. fmt.Println("StdoutPipe: " + err.Error())
  34. return
  35. }
  36.  
  37. stderr, err := cmd.StderrPipe()
  38. if err != nil {
  39. fmt.Println("StderrPipe: ", err.Error())
  40. return
  41. }
  42.  
  43. if err := cmd.Start(); err != nil {
  44. fmt.Println("Start: ", err.Error())
  45. return
  46. }
  47.  
  48. bytesErr, err := ioutil.ReadAll(stderr)
  49. if err != nil {
  50. fmt.Println("ReadAll stderr: ", err.Error())
  51. return
  52. }
  53.  
  54. if len(bytesErr) != 0 {
  55. fmt.Printf("stderr is not nil: %s", bytesErr)
  56. return
  57. }
  58.  
  59. bytes, err := ioutil.ReadAll(stdout)
  60. if err != nil {
  61. fmt.Println("ReadAll stdout: ", err.Error())
  62. return
  63. }
  64.  
  65. if err := cmd.Wait(); err != nil {
  66. fmt.Println("Wait: ", err.Error())
  67. return
  68. }
  69.  
  70. fmt.Printf("stdout: %s", bytes)
  71. }
  72.  
  73. // 运行命令: go run main.go
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement