1

Я работаю над проектом, в котором мне нужно сохранить и восстановить настройки псевдотерминала. Я могу использовать tcgetattr для сохранения настроек терминала, даже когда вызывающий процесс находится в фоновом режиме. Однако дело обстоит иначе с функцией tcsetattr для восстановления настроек терминала, когда вызывающий процесс находится в фоновом режиме. Он просто зависает на 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

0