On Fri, 14 Jul 2017 18:25:32 +0200 Edgar Fuß <e...@math.uni-bonn.de> wrote:
> what exactly is the point (save sanity) of redirecting stdXXX to /dev/null? I once had a nasty bug in a custom daemon that took several months to track down, that I solved by redirecting stdxxx to /dev/null: When a new client connected over a TCP socket, a file descriptor would be allocated for it. As stdin, stdout, and stderr were all closed in advance, these descriptor numbers would be available, and occasionally standard out would be used as a client socket. A stray printf() for debugging was buried deep in the code. On rare cases, it would run, squirting random text into that client socket, causing protocol errors and a disconnect. Reproducing the problem was a severe pain, because running the daemon in the foreground meant stdout was still there and working normally. And even daemonized, it was rare and random, as a client had to get standard out as it's socket and then hit the debugging routine. I would describe the point as being: not all code is perfect, and it's a cheap guardrail. -- Aaron B. <aa...@zadzmo.org>