fsync doesn't work here right because unix pipes are in memory?
I've had luck elsewhere with nodejs and WriteableStreams that refuse to flush their buffers before a process.exit() using fsync on the underlying file descriptors.
EINVAL fd is bound to a special file (e.g., a pipe, FIFO, or
socket) which does not support synchronization.
Or as POSIX puts it, [EINVAL]
The fildes argument does not refer to a file on which this operation is possible.