Maybe this post help you: <https://forum.nim-lang.org/t/4454#27937>
Or your problem might be similar to this: <https://github.com/nim-lang/Nim/issues/8648> If a child process writes large data to a pipe and the pipe buffer got full, then write to the pipe get blocked until parent process read the pipe. So if your child processes write something larger than pipe buffer size, your parent process have to read outputs from them in order to keep them running. For more info: For linux user: > Search Pipe capacity in: > <https://www.man7.org/linux/man-pages/man7/pipe.7.html> For ms windows user: > <https://docs.microsoft.com/en-us/windows/win32/ipc/anonymous-pipe-operations> This library might works better than `osproc` in standard library: (but I have never used it) <https://github.com/cheatfate/asynctools> If you want to run your child processes on other machines, socket would be better than pipe for inter process communication. <https://nim-lang.org/docs/asyncnet.html>
