Реализовал приложение которое принимает данные на порту по протоколу UDP, когда запускаю данное приложение из консоли оно работает как надо, далее написал к нему api, для выключения,включения и перезапуска, добавил его в переменную PATH, при первом POST запросе оно запускается, но данные не принимает, если пошлю запрос на выключение и потом на включение начинает принимать данные, но только с одного клиента и только один раз, далее нужно снова повторить операцию вкл/выкл , напомню, что при обычном включение не через api все работает как надо. Всё запускаю из под рута.
func start(e echo.Context) error {
path, err := exec.LookPath(PARSERNAME)
if err != nil {
return err
}
cmd = exec.Command(path, "-p")
err = cmd.Start()
wg.Add(1)
go func() {
err = cmd.Wait()
if err != nil {
fmt.Printf("Err: %v\n", err)
}
wg.Done()
}()
return e.String(http.StatusOK,
fmt.Sprintf("start %s\n",
time.Now().Format("Jan _2 15:04:05")))
}
func stop(e echo.Context) error {
if err := cmd.Process.Kill(); err != nil {
fmt.Printf("Err: %v\n", err)
}
return e.String(http.StatusOK,
fmt.Sprintf(" stop %s\n",
time.Now().Format("Jan _2 15:04:05")))
}