parent: waiting... child: send: 'a' child: waiting... parent: read: 'a' parent: resp: 'ack a' parent: waiting... child: recv: 'ack a' child: send: 'b' child: waiting... parent: read: 'b' parent: resp: 'ack b' parent: waiting... child: recv: 'ack b' child: send: 'c' child: waiting... parent: read: 'c' parent: resp: 'ack c' parent: waiting... child: recv: 'ack c' child: done. parent: stopped. cleanup... parent: done; child exit code: 0