In short, pseudo-terminal is used for running and interacting with programs. A pseudo-terminal consists of a master and slave device. The slave device emulates a terminal device and connects with master device. Master device provides means for a terminal emulator process to control the slave devices. Terminal multiplexers, such as tmux, create multiple pseudo-terminals to interact with multiple running programs.