Устройство, в нем моя программа - пользовательский интерфейс и системная часть. Программа запускается из init.
Вопрос: как из моей программы "переключиться" в shell(busybox ash) и обратно.
Как запустить процесс я знаю, как заместить мой им тоже, не знаю как делить терминал.
PS serial console, job control отключен
элементарно ж, вроде дошло:
1. закрываю termios терминал
2. делаю fork()
3. в parent process жду wait() завершения дочернего процесса, по завершении открываю терминал
4. в дочернем открываю терминал и делаю замещение exec() на busybox
нет блин, termios тут не причем
"владение " терминалом как-то определяется родством процессов, не раскурю никак
неужели никто не делал консольный интерфейс к устройству?
PS ниче что я тут ЖЖ устраиваю?
Solved. Функция tcsetpgrp(),
http://www.gnu.org/software/libtool/manual...ng-a-Shell.htmlХм, работает и без нее, что-то не то было с execl(), видимо.