Форум русскоязычного сообщества Ubuntu


Автор Тема: Виртуальные консоли  (Прочитано 1182 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sandric

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Виртуальные консоли
« : 13 Май 2008, 21:37:30 »
Добрый день. У меня задание на лабараторную - создать процесс, который создаёт потомков, которые тоже могут создавать потомков. Сумма всех потомков передаётся в главный процесс - родитель. Я на убунт енедавно, как создавать порождённый процесс в новом окне терминала(типа как в винде - в новом сеансе). Мне сказали про виртуальные консоли, но именно как их создавать программно не нашол. Кто знает, отпишитесь, плз)

Оффлайн Viewizard

  • Активист
  • *
  • Сообщений: 481
    • Просмотр профиля
Re: Виртуальные консоли
« Ответ #1 : 13 Май 2008, 22:00:17 »
https://forum.ubuntu.ru/index.php?topic=26907.0
там я кинул пример, имхо, может я чего не понял, но тебе нужно только fork(), т.е. просто создать дочерний процесс....
За виртуальный консоли - ничего не скажу...
Как передавать данные в родительский процесс - тоже не скажу, не занимался этим...
Обходя разложенные грабли, ты теряешь драгоценный опыт!

Оффлайн sandric

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Виртуальные консоли
« Ответ #2 : 14 Май 2008, 01:12:15 »
Та не. Я знаю шо такое форк, у мну проблема в том, шо всьо пишется в 1 окне. От как мне, например, взять определённый процесс и оттуда уже вызвать форк? Передавать сигналом по определённому пиду, который ещё и сохранять в массив или список, ета ж ужос( У меня родитель начинает роботу в 1 окне терминала, я хочу, что бы все "сыны" тож создавали по окну, что бы там и работать с ними, как в старой доброй винде)

Thread

  • Гость
Re: Виртуальные консоли
« Ответ #3 : 14 Май 2008, 01:15:37 »
Выбрось из головы эту идею. На крайний случай - сделай, чтобы каждый процесс писал свои данные в файл my_program-<pid процесса>.txt, или при выводе на stdout/stderr писал сначала свой pid.

А насчёт управления процессами - да, через каналы или сигналы. pipe(), mkfifo(), signal(), kill()
« Последнее редактирование: 14 Май 2008, 01:17:32 от a-v »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Виртуальные консоли
« Ответ #4 : 16 Май 2008, 14:58:05 »
тебе что то типо gnome-terminal -e "man 2 read" ?
само окошко это отдельная программа. я даже не представляю как так надо fork'нуться чтобы открылся новый терминал.
а вот запустить новую программку просто смотри пример выше.

Оффлайн teop

  • Участник
  • *
  • Сообщений: 202
    • Просмотр профиля
Re: Виртуальные консоли
« Ответ #5 : 16 Май 2008, 16:41:44 »
Не знаю, поможет ли, но виртуальные терминалы создаются с помощью screen. Очень удобно, если вдруг не хватает семи стандартных;)

 

Страница сгенерирована за 0.053 секунд. Запросов: 24.