Thanks for pointing me to the bug.

This is happening to me even with nil or *os.File Stdout and Stderr (I
tried both). Is there anything that can be done to
guarantee that exec.Cmd.Wait won't block indefinitely? I don't think my
subprocess is starting any of its own subprocesses, but I am not completely
certain.

On Thu, Jul 9, 2020 at 4:15 PM Ian Lance Taylor <i...@golang.org> wrote:

> On Thu, Jul 9, 2020 at 4:14 PM Ian Gudger <i...@iangudger.com> wrote:
> >
> > I am using Go 1.14 AMD64 on Linux 5.3.0.
> >
> > When I create a subprocess with exec.Cmd.Start, I can't seem to fully
> kill it with exec.Cmd.Process.Kill, or at least not to the satisfaction of
> exec.Cmd.Wait.
> >
> > I am doing something along the lines of:
> > cmd := exec.Command(binPath)
> > if err := cmd.Start(); err != nil {
> > ...
> > }
> > if err := cmd.Process.Kill(); err != nil {
> > ...
> > }
> > if err := cmd.Wait(); err != nil {
> > ...
> > }
> >
> > However, this hangs on Wait. As far as I can tell this shouldn't happen.
> Any idea what I might be doing wrong?
>
> Does the subprocess start any subprocesses itself?  Are you capturing
> Stdout or Stderr into a bytes.Buffer or similar?  See
> https://golang.org/issue/23019.
>
> Ian
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CANFXSj0J-XMQ%3DM0%3DQxzt629a93JcOEtTnntWu7sSfo9TBdOODg%40mail.gmail.com.

Reply via email to