joyent/node — comment on commit ce485791db5507d160cbc204b8a58e770ac60a50
File: doc/api/readline.markdown line 150
By Southern:

The `pause` and `SIGCONT` events won't be emitted if the stream was paused before `process.kill(process.pid, 'SIGTSTP')` was called. It will still raise these events even if a user already has a listener for `process.on('SIGTSTP', ...)`, as long as it isn't paused.

When the stream starts back in a `SIGCONT`, you have to resume the stream by either `rl.resume()`, `rl.prompt()`, `rl.question()`, or `rl.write()`. Otherwise, it will stay in a paused state and allow the program to exit.