Sure? My understanding was that Kill() could be relied on to end the process or return an error.

In addition, note that the ``exitStatusCh`` channel already has a go-routine behind it that calls proc.Wait().

Apparently, according to http://stackoverflow.com/questions/11886531/terminating-a-process-started-with-os-exec-in-golang, proc.Wait() will return when the process has been killed, so after the call to ``Kill``, we could also read a value from ``exitStatusCh``. 

In fact, in order to prevent a leak, we have to either do that, or increase the capacity of ``exitStatusCh`` such that the goroutine producing for it will not block and leak.