1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
import posix proc closeHandle(fd, flags: cint) = let devnull = open("/dev/null", flags) doAssert devnull != -1 if devnull != fd: discard dup2(devnull, fd) discard close(devnull) proc closeStdin*() = closeHandle(0, O_RDONLY) proc closeStdout*() = closeHandle(1, O_WRONLY) proc closeStderr*() = closeHandle(2, O_WRONLY)