Idle 0 May 21, 2008 Posted May 21, 2008 · Report post Устройство, в нем моя программа - пользовательский интерфейс и системная часть. Программа запускается из init. Вопрос: как из моей программы "переключиться" в shell(busybox ash) и обратно. Как запустить процесс я знаю, как заместить мой им тоже, не знаю как делить терминал. PS serial console, job control отключен Quote Share this post Link to post Share on other sites More sharing options...
Idle 0 May 21, 2008 Posted May 21, 2008 (edited) · Report post элементарно ж, вроде дошло: 1. закрываю termios терминал 2. делаю fork() 3. в parent process жду wait() завершения дочернего процесса, по завершении открываю терминал 4. в дочернем открываю терминал и делаю замещение exec() на busybox Edited May 21, 2008 by Idle Quote Share this post Link to post Share on other sites More sharing options...
Idle 0 May 23, 2008 Posted May 23, 2008 · Report post нет блин, termios тут не причем "владение " терминалом как-то определяется родством процессов, не раскурю никак неужели никто не делал консольный интерфейс к устройству? PS ниче что я тут ЖЖ устраиваю? Quote Share this post Link to post Share on other sites More sharing options...
Idle 0 May 28, 2008 Posted May 28, 2008 (edited) · Report post Solved. Функция tcsetpgrp(), http://www.gnu.org/software/libtool/manual...ng-a-Shell.html Хм, работает и без нее, что-то не то было с execl(), видимо. Edited May 28, 2008 by Idle Quote Share this post Link to post Share on other sites More sharing options...