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.

46 lines
784 B

  1. package works
  2. import (
  3. "bytes"
  4. "os/exec"
  5. "time"
  6. )
  7. func Uname(param ...string) (string, error) {
  8. //var cmdParam string
  9. unameCmd := exec.Command("uname")
  10. if len(param) != 0 {
  11. //for _, p := range param {
  12. // cmdParam += p
  13. //}
  14. unameCmd = exec.Command("uname", param...)
  15. }
  16. var out bytes.Buffer
  17. unameCmd.Stdout = &out
  18. err := unameCmd.Run()
  19. if err != nil {
  20. return "", err
  21. }
  22. return out.String(), err
  23. }
  24. func Wait(param ...string) (string, error) {
  25. time.Sleep(10 * time.Second)
  26. return "worker sleep 10s", nil
  27. }
  28. func Echo(param ...string) (string, error) {
  29. var out string
  30. for _, v := range param {
  31. out += v + " "
  32. }
  33. return out, nil
  34. }
  35. func Works() map[string]interface{} {
  36. return map[string]interface{}{
  37. "uname": Uname,
  38. "wait": Wait,
  39. "echo": Echo,
  40. }
  41. }

Powered by TurnKey Linux.