Option 1) is not feasible though, as you&#x27;ll block your one thread.<p>Though I wonder if you can work around all this by using signalfd (<a href="http:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man2&#x2F;signalfd.2.html" rel="nofollow">http:&#x2F;&#x2F;man7.org&#x2F;linux&#x2F;man-pages&#x2F;man2&#x2F;signalfd.2.html</a>) and have SIGCHLD delivered through normal file descriptors - I don&#x27;t know the low levels of Go enough to know if you can integrate a raw file descriptor with its runtime, or whether messing with SIGCHLD causes other issues, but it might be worth pursuing.