реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> "переключиться" в shell, Linux embedded
Idle
сообщение May 21 2008, 17:19
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 351
Регистрация: 5-04-05
Пользователь №: 3 874



Устройство, в нем моя программа - пользовательский интерфейс и системная часть. Программа запускается из init.
Вопрос: как из моей программы "переключиться" в shell(busybox ash) и обратно.
Как запустить процесс я знаю, как заместить мой им тоже, не знаю как делить терминал.

PS serial console, job control отключен
Go to the top of the page
 
+Quote Post
Idle
сообщение May 21 2008, 18:24
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 351
Регистрация: 5-04-05
Пользователь №: 3 874



элементарно ж, вроде дошло:
1. закрываю termios терминал
2. делаю fork()
3. в parent process жду wait() завершения дочернего процесса, по завершении открываю терминал
4. в дочернем открываю терминал и делаю замещение exec() на busybox

Сообщение отредактировал Idle - May 21 2008, 18:24
Go to the top of the page
 
+Quote Post
Idle
сообщение May 23 2008, 16:34
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 351
Регистрация: 5-04-05
Пользователь №: 3 874



нет блин, termios тут не причем
"владение " терминалом как-то определяется родством процессов, не раскурю никак

неужели никто не делал консольный интерфейс к устройству?

PS ниче что я тут ЖЖ устраиваю?
Go to the top of the page
 
+Quote Post
Idle
сообщение May 28 2008, 06:24
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 351
Регистрация: 5-04-05
Пользователь №: 3 874



Solved. Функция tcsetpgrp(), http://www.gnu.org/software/libtool/manual...ng-a-Shell.html
Хм, работает и без нее, что-то не то было с execl(), видимо.

Сообщение отредактировал Idle - May 28 2008, 06:54
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 03:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.02188 секунд с 7
ELECTRONIX ©2004-2016