deadlock
Two programs or threads each waiting for the other, forever.
A deadlock is a cycle of waits in which no party can proceed, such as a parent blocked writing a child's full stdin while the child is blocked writing its full, unread stdout.
Examples
A parent that writes a large input to a child's stdin before reading its stdout can hang: the child waits on a full stdout pipe, the parent on a full stdin pipe.
See also