task.go 653 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package services
  2. import (
  3. "bytes"
  4. "fmt"
  5. "os/exec"
  6. "regexp"
  7. "strconv"
  8. "strings"
  9. )
  10. func Task() {
  11. fmt.Println("start")
  12. //fmt.Println(portInUse(7000))
  13. //RunPycharm()
  14. fmt.Println("end")
  15. }
  16. func portInUse(portNumber int) int {
  17. res := -1
  18. var outBytes bytes.Buffer
  19. cmdStr := fmt.Sprintf("netstat -ano -p tcp | findstr %d", portNumber)
  20. cmd := exec.Command("cmd", "/c", cmdStr)
  21. cmd.Stdout = &outBytes
  22. cmd.Run()
  23. resStr := outBytes.String()
  24. r := regexp.MustCompile(`\s\d+\s`).FindAllString(resStr, -1)
  25. if len(r) > 0 {
  26. pid, err := strconv.Atoi(strings.TrimSpace(r[0]))
  27. if err != nil {
  28. res = -1
  29. } else {
  30. res = pid
  31. }
  32. }
  33. return res
  34. }