Skip to content

process daemon #2

@tskdsb

Description

@tskdsb
func startProcess(args []string) error {
  cmd := exec.Command(args[1], args[2:]...)
  cmd.Stdout = os.Stdout
  cmd.Stderr = os.Stderr
  return cmd.Run()
}

func main() {
  exit := make(chan error)
  go func() {
    exit <- startProcess(os.Args)
  }()

FOR:
  for {
    select {
    case err := <-exit:
      if err != nil {
        log.Println(err)
        go func() {
          exit <- startProcess(os.Args)
        }()
      } else {
        log.Println("EXIT 0")
        break FOR
      }
    default:
      // log.Println("wait for process")
    }
    time.Sleep(time.Second * 1)
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions