Как в Unix отвязать один процесс от другого?
От: Аноним  
Дата: 25.04.12 11:50
Оценка: :)
Есть процесс (программа) prog1, которая выполняется в Unix и которая запускает процесс prog2, который также выполняется в Unix.
Как сделать так, чтобы у второго процесса prog2 на экране появлялось своё терминальное окно, а не использовалось терминальное окно первого процесса prog1?
Re: Как в Unix отвязать один процесс от другого?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 25.04.12 12:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть процесс (программа) prog1, которая выполняется в Unix и которая запускает процесс prog2, который также выполняется в Unix.

А>Как сделать так, чтобы у второго процесса prog2 на экране появлялось своё терминальное окно, а не использовалось терминальное окно первого процесса prog1?

В общем случае никак, потому что у разных window managers разные средства внешнего управления, что и как открывать на экране, а некоторые вообще такого не дают.

Но как грязный хак можно запустить xterm с prog2 в отдельной сессии.
Если не xterm, то перепробовать ещё несколько стандартных эмуляторов терминала или посмотреть рекомендованный в конфиге.
The God is real, unless declared integer.
Re[2]: Как в Unix отвязать один процесс от другого?
От: Аноним  
Дата: 25.04.12 12:40
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, Аноним, Вы писали:


А>>Есть процесс (программа) prog1, которая выполняется в Unix и которая запускает процесс prog2, который также выполняется в Unix.

А>>Как сделать так, чтобы у второго процесса prog2 на экране появлялось своё терминальное окно, а не использовалось терминальное окно первого процесса prog1?

N>В общем случае никак, потому что у разных window managers разные средства внешнего управления, что и как открывать на экране, а некоторые вообще такого не дают.


N>Но как грязный хак можно запустить xterm с prog2 в отдельной сессии.

N>Если не xterm, то перепробовать ещё несколько стандартных эмуляторов терминала или посмотреть рекомендованный в конфиге.

Если я работаю с Unix-сервером через эмулятор Exceed, то возможно ли запустить процесс prog2 в отдельном окне (помимо команды xterm)?
Re[3]: Как в Unix отвязать один процесс от другого?
От: the_daily_ragnarok Россия  
Дата: 25.04.12 13:17
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Если я работаю с Unix-сервером через эмулятор Exceed


Попридераюсь, Exceed это не эмулятор, это реализация X-server'а для ОС Windows.
Что его попросит сделать клиент, то он и нарисует. Так что опять все возвращается к тому, что у тебя выполняется на Unix-машине.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ego Liberare Art Ultimus Injuria
Re: Как в Unix отвязать один процесс от другого?
От: Centaur Россия  
Дата: 25.04.12 16:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть процесс (программа) prog1, которая выполняется в Unix и которая запускает процесс prog2, который также выполняется в Unix.

А>Как сделать так, чтобы у второго процесса prog2 на экране появлялось своё терминальное окно, а не использовалось терминальное окно первого процесса prog1?

Какое окно? Мы на сервере по ssh, иксов нет и не предвидится.
Re[2]: Как в Unix отвязать один процесс от другого?
От: ДимДимыч Украина http://klug.org.ua
Дата: 25.04.12 20:22
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Какое окно? Мы на сервере по ssh, иксов нет и не предвидится.


Тогда можно вместо «prog2» запустить «screen -d -m prog2», создать еще одну ssh сессию в отдельном терминале и в ней уже присоединиться к screen'у.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re: Как в Unix отвязать один процесс от другого?
От: slava_phirsov Россия  
Дата: 26.04.12 09:43
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть процесс (программа) prog1, которая выполняется в Unix и которая запускает процесс prog2, который также выполняется в Unix.

А>Как сделать так, чтобы у второго процесса prog2 на экране появлялось своё терминальное окно, а не использовалось терминальное окно первого процесса prog1?

Могу предложить еще один грязный хак, который я иногда использовал, чтобы раскидать stdout/stderr по разным окнам (работает под Linux под X-ами) — перенаправление потока в один из /dev/pts/. При этом вывод отображается в окне эмулятора терминала, который этот /dev/pts/ использует. Перенаправлять таким макаром stdin как-то не пробовал
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.