For both questions, I would suggest reviewing perlipc, the perl documentation on inter-process communications. The section on signal handling mentions both Ctrl-C and Ctrl-Z (from question 1), while the section "Using open() for IPC" would be a good place to start for question 2.