#1 03.04.09 17:40
[C/C++] Эмуляция консоли Linux
Собственно вопрос. Как можно сделать что-то, вроде эмуляции консоли Linux? Тоесть приложение при запуске выдает стандартное приветствие (как в любом терминале), запуская /bin/bash (или /bin/login) и перенаправляя вывод с него на stdout, а ввод - на stdin. Как можно это сделать с минимальными затратами кода?
Offline
#3 04.04.09 14:21
Re: [C/C++] Эмуляция консоли Linux
Укроп написал(а):
в моем мозгу всплывают слова - псевдоустройства , эмуляция терминала, потоки ввода вывода.
как именно тебе надо сэмулировать консоль линукс? почему линукс? может просто generic консольки?
самим вводов выводом на экран изанимаются программы типа mingetty.
они осуществляют связь с интерпретаторами командной строки типа /bin/bash итд. /bin/login
самая простая консоль имеет вид
for(;;){
a=getchar();
putchar(a);}
Это не я бляяя...
Offline
#4 04.04.09 16:47
Re: [C/C++] Эмуляция консоли Linux
Нет, system тут не при чем. Сейчас сделал через pipe-ы (с использованием dup stdin в дочернем форке, и stdout в родительском).
system не позволяет читать данные из процесса и записывать их в него.
Укроп, поясню. Программа запускает /bin/bash, все что вводится в программу - посылается в /bin/bash, а все что оттуда выводится - в программу.
Offline
#7 06.04.09 07:00
Re: [C/C++] Эмуляция консоли Linux
Jaguar, нет, это что-то вроде аналога shell in a box.
Offline

