Estou trabalhando em um projeto onde tenho que salvar e restaurar a configuração do pseudoterminal. Eu sou capaz de usar tcgetattr para salvar as configurações do terminal, mesmo quando o processo de chamada está em segundo plano. No entanto, o caso não é o mesmo com a função tcsetattr para restaurar as configurações do terminal, quando o processo de chamada está em segundo plano. Apenas desliga no tcsetattr.
Alguém sabe por que isso acontece e alguém pode sugerir a ideia de como posso obter a restauração do ajuste do terminal para um processo em segundo plano?
EDITAR
Circunstância: Isso é fluxo de trabalho do programa de amostra e estou tentando tirar um instantâneo do programa e reiniciá-lo mais tarde:
main function
-- opens a master pty with NOCTTY flag
-- opens a slave pty with NOCTTY flag
fork
parent process
-- close the slave and wait for child process
child process
-- set up slave pty as a new controlling terminal
-- saves controlling term setting i.e.slave
-- run a while loop for 200 seconds (using SIGALARM)
and do some trivial task locally