Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск программы из другой консоли 
:(
    Опции темы
9STREB
Дата 29.11.2016, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.11.2016

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



Здравствуйте, подскажите пожалуйста, каким образом можно запустить из программы (которая запущена из-под консоли 1) запустить программу (или bash скрипт) в другой консоли (консоль 2)?
PM MAIL   Вверх
xvr
Дата 29.11.2016, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 6986
Регистрация: 28.8.2007
Где: Химки, Московская обл

Репутация: 20
Всего: 222



Функция CreateProcess, параметр dwCreationFlags, флаг CREATE_NEW_CONSOLE
 
PM MAIL   Вверх
Olej
Дата 30.11.2016, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 30.11.2016

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



Цитата(xvr @ 29.11.2016,  22:11)
Функция CreateProcess, параметр dwCreationFlags, флаг CREATE_NEW_CONSOLE

CreateProcess в разделе форума "C/C++: Программирование под Unix/Linux"?
Пикантно... smile 
Пикантно... smile 
PM MAIL   Вверх
xvr
Дата 30.11.2016, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 6986
Регистрация: 28.8.2007
Где: Химки, Московская обл

Репутация: 20
Всего: 222



Пардон, не обратил внимания на раздел.

В linux'е придется запускать другую консоль (ибо в нем нет встроенных в систему консолей, а есть внешние программы) с вашей программой.

Например так: system("xterm -e <script> <arguments>... &")


Это сообщение отредактировал(а) xvr - 30.11.2016, 14:55
PM MAIL   Вверх
9STREB
Дата 30.11.2016, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.11.2016

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



под консолью я подразумевал, виртуальный терминал (например который открывается  ctrl+alt+Fn) 
PM MAIL   Вверх
Olej
Дата 30.11.2016, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 30.11.2016

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



Цитата(9STREB @ 29.11.2016,  21:28)
Здравствуйте, подскажите пожалуйста, каким образом можно запустить из программы (которая запущена из-под консоли 1) запустить программу (или bash скрипт) в другой консоли (консоль 2)?

См. в сторону "псевдотерминал", man 4 pts, pts (4)

Откройте новый терминал (или в консоли):
Код

$ tty
/dev/pts/19

Из другого терминала/консоли:
Код

$ ls -l > /dev/pts/19

И будет вам счастье. smile 
PM MAIL   Вверх
9STREB
Дата 30.11.2016, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.11.2016

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



Цитата(Olej @ 30.11.2016,  18:52)
Цитата(9STREB @ 29.11.2016,  21:28)
Здравствуйте, подскажите пожалуйста, каким образом можно запустить из программы (которая запущена из-под консоли 1) запустить программу (или bash скрипт) в другой консоли (консоль 2)?

См. в сторону "псевдотерминал", man 4 pts, pts (4)

Откройте новый терминал (или в консоли):
Код

$ tty
/dev/pts/19

Из другого терминала/консоли:
Код

$ ls -l > /dev/pts/19

И будет вам счастье. smile

Это получается перенаправление вывода, а мне надо например так:
во 2 консоле я зашел в cd test например
а в 1 когда нарпимер пишу ~$ ls -l >dev/tty2 он отобразил не директорию ~ а то что находится в ~/test
PM MAIL   Вверх
Olej
Дата 30.11.2016, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 30.11.2016

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



[QUOTE=9STREB,30.11.2016,  21:32][QUOTE=Olej,30.11.2016,  18:52]
Цитата(9STREB @ 29.11.2016,  21:28)

Это получается перенаправление вывода, а мне надо

Это не получается перенаправление вывода.
А в том, что вам надо, разбирайтесь дальше сами... с /dev/pts/

PM MAIL   Вверх
Olej
Дата 22.12.2016, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 30.11.2016

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



Цитата(9STREB @ 30.11.2016,  21:32)

Это получается перенаправление вывода, а мне надо например так:
во 2 консоле я зашел в cd test например
а в 1 когда нарпимер пишу ~$ ls -l >dev/tty2 он отобразил не директорию ~ а то что находится в ~/test

Такого быть не может!
У вас может быть открыто до 64 виртуальных терминалов /dev/tty0 - /dev/tty63, но каждый из них - это независимая терминальная сессия, и у каждой из них установлен свой текущий рабочий каталог.  

Это сообщение отредактировал(а) Olej - 22.12.2016, 18:06
PM MAIL   Вверх
Google
  Дата 16.6.2019, 20:44 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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