Informix Error -813: Cannot write to pipe for output (no reading process).
Cause and resolution
Cannot write to pipe for output (no reading process).
Under the Output option, you sent output to a command or program through a pipe. Although the pipe was established (indicating that the command had correct syntax and named existing programs), it has since closed unexpectedly. This condition indicates that the (first) program in the pipe terminated before it had received all the output. Possibly it quit due to an error, or possibly you or another user terminated it with a kill command. Look for messages from the pipe program that might explain why it quit.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-813 fires when a pipe established via the To-pipe output option (successfully, per -812's own checks) closes unexpectedly before all output was written — per the official guidance, this means the program on the other end of the pipe terminated early, either due to its own error or because it was killed.
- The receiving program terminating due to its own internal error, per the official guidance — the pipe target crashed or exited abnormally partway through.
- The receiving program killed by the user or another user, per the official guidance — an
explicit
killcommand ended it before it finished reading. - The receiving program simply not designed to consume a large/continuous stream, exiting after processing what it expected rather than waiting for the full output.
Solutions / Resolution
- Look for messages from the pipe program that might explain why it quit, per the official guidance — check that program's own logs/output/exit status.
- Check whether the receiving program was killed, per the official guidance, by reviewing who else might have terminated it (shared systems, scheduled cleanup jobs).
- Confirm the receiving program can handle the full expected output volume, if it's simply not designed for a large/continuous stream from this specific query's output.
Examples
Checking the pipe program's own exit behavior
$ the_program < /dev/null; echo "exit status: $?"
Run the pipe target standalone to observe whether it exits early or reports an error on its own, independent of the interactive tool's output.
Diagnostic Checks
- Check the receiving program's own logs, output, and exit status for why it terminated early.
- Confirm whether it was explicitly killed by another process/user.
Related Errors / Related Topics
- -812 — "Cannot open pipe for output." A related pipe-output error, about failing to open the pipe at all, rather than it closing early after a successful open.
The pipe opened successfully but its receiving program quit early — check that program's own logs and exit status for why.