我正在做一个项目,需要保存和恢复伪终端的设置。我可以使用属性获取即使调用进程在后台,也可以保存终端设置。但是,情况与属性设置当调用进程在后台时,该函数用于恢复终端设置。它只是挂断在 tcsetattr 上。
有人知道为什么会发生这种情况吗?有人可以建议我如何实现后台进程的终端设置恢复吗?
编辑
情况:这是示例程序的工作流程,我正在尝试截取该程序的快照并稍后重新启动它:
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