Запуск нового процесса из программы на С++ в Linux
От: Vigen  
Дата: 04.06.03 08:33
Оценка:
Здрасте!
Облазил весь net, тожет не там искал или не то... Но надо мне запустить новый процесс или поток из своей програмки. Все вроде работает (fork, execl...), но.... Запускается прожка в том же console окне, что и главная прога. Как сделать, чтобы запуск происходил в новом окне console?
Спасибо за ответ!!!
Виген
Re: Запуск нового процесса из программы на С++ в Linux
От: alf  
Дата: 04.06.03 09:25
Оценка:
Здравствуйте, Vigen, Вы писали:

V>Облазил весь net, тожет не там искал или не то... Но надо мне запустить новый процесс или поток из своей програмки. Все вроде работает (fork, execl...), но.... Запускается прожка в том же console окне, что и главная прога. Как сделать, чтобы запуск происходил в новом окне console?



Откуда ж fork() узнает, что ты иксы используешь? Процесс у тебя запускается, как ты и просил, а чтобы оконный менеджер его в отдельное окно посадил — это надо его специально просить. Честно говоря, не знаю — возможно ли это вообще для консольных приложений.
... << RSDN@Home 1.0 beta 7a >>
Re[2]: Запуск нового процесса из программы на С++ в Linux
От: RXL  
Дата: 04.06.03 10:34
Оценка:
V>>Облазил весь net, тожет не там искал или не то... Но надо мне запустить новый процесс или поток из своей програмки. Все вроде работает (fork, execl...), но.... Запускается прожка в том же console окне, что и главная прога. Как сделать, чтобы запуск происходил в новом окне console?

alf>Откуда ж fork() узнает, что ты иксы используешь? Процесс у тебя запускается, как ты и просил, а чтобы оконный менеджер его в отдельное окно посадил — это надо его специально просить. Честно говоря, не знаю — возможно ли это вообще для консольных приложений.


Товаришь, видать, думал как винде сделать...
Именно так как описано не получится. В xterm (или иной граф. терминал) выводят процессы порожденные им же (прикрепленные к его pts).
Можно попробовать так: после fork() дочка выполняет execl("xterm","xterm","./my_prog") .
Re[3]: Запуск нового процесса из программы на С++ в Linux
От: alf  
Дата: 04.06.03 10:51
Оценка:
RXL>Товаришь, видать, думал как винде сделать...
RXL>Именно так как описано не получится. В xterm (или иной граф. терминал) выводят процессы порожденные им же (прикрепленные к его pts).
RXL>Можно попробовать так: после fork() дочка выполняет execl("xterm","xterm","./my_prog") .


Я об этом тоже подумал. Только, наверное, не xterm... Точнее, не всегда xterm. Если мне не изменяет память — в переменных окружения можно поискать название текущего терминала. Хотя, если я запускаю обычно
xterm +sb -bg black -fg white
, то это отследить не получится...
... << RSDN@Home 1.0 beta 7a >>
Re[3]: Запуск нового процесса из программы на С++ в Linux
От: zadig Россия http://zadig.fizteh.ru
Дата: 05.06.03 19:14
Оценка:
Можно еще попробовать system();
knowing what thou knowest not is in a sense omniscience
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.