Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перенаправление в другое окно 
V
    Опции темы
Pulse69
Дата 28.4.2006, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 28.4.2006
Где: Хабаровск

Репутация: 8
Всего: 10



Здравствуйте все!
У меня есть небольшая проблема. Суть её вот в чём: 
Нужно написать программу для linux, которая запускает xterm или gnome-commander, а затем считывает то, что он выводит или записывает в него информацию. Я пытался это сделать с помощью пайпов, но данные считываются если запускается программа в той же виртуальной консоли, а если в другом окне, то просто ничего не происходит - программа просто ждёт пока завершится приложение. Подскажите, пожалуйста, с какой стороны подступиться, а то в linux'e я новичок. Буду очень признателен

Вот код
Код

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main ()
{
    int fifo[2], status;

    pid_t child_pid;
    char buf[80];
    
    if (-1 == pipe(fifo)) printf("Error create pipe\n"), exit(1);

    switch (child_pid = fork())
    {
    case -1:
    {
        printf("error");
        exit(0);
    }
        
    case 0:
    {
        if (dup2 (fifo[1], STDOUT_FILENO) == -1) 
        {
        printf("error dup2");
        exit(0);
        }
        
        close(fifo[0]);
        execlp ("xterm", "xterm", "-e", "bash --help", NULL);
        perror("execlp");

        close(fifo[1]);
        exit(0);
    }
    }

    close(fifo[1]);
    
    while (read (fifo[0], buf, 80))
    printf (buf);
    
    close(fifo[0]);
    
    return 0;
}
 
--------------------
Ctrl+Alt+Reset 
PM MAIL   Вверх
adonin
Дата 28.4.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 16.12.2005
Где: Новочеркасск Рост овская обл.

Репутация: 2
Всего: 5



Тебе ответят быстрее, если ты поместишь свой вопрос в форум
C/C++: Программирование под Unix/Linux 
--------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР)
PM MAIL   Вверх
Pulse69
  Дата 28.4.2006, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 28.4.2006
Где: Хабаровск

Репутация: 8
Всего: 10



Да, Sorry, хотел же туда запихнуть, да не там ткнул. Просто у меня страниц 50 было открыто. Спасибо.  

Это сообщение отредактировал(а) Pulse69 - 28.4.2006, 13:07
--------------------
Ctrl+Alt+Reset 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.