use forkpty()