на главнуюВсе эхи RU.LINUX.CHAINIK
войти ?

KDE + старт из скрипта

От Serguei Khvatov (2:5020/175.2) к Alexey Korop

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


From: "Serguei Khvatov" <xbatob@techno.spb.ru>

Fri Apr 24 2009 23:26, Alexey Korop wrote to Serguei Khvatov:

AK> Привет, Serguei!

AK> 24.04.2009 в 21:56:02 Serguei Khvatov написал к Alexey Korop:

AK>>> Впрочем, заработало и просто через меню, если HЕ ставить галку
AK>>> "выполнять в терминале". То есть скрипт выполняется невидимо, а
AK>>> terminator вызывается и работает. Выходит, [censored] konsole
AK>>> виновата. Забирает с собой в могилу всех потомков.

SK>> А что ему остаётся делать? у его содержимого stdin, out & err смотрят
SK>> в псевдотерминал, который он собирается уничтожать. Хотя он мог бы
SK>> ничего и не делать - само рухнет, но сначала послать SIGTERM всей
SK>> группе запущенных в нём процессов и дать им возможность аккуратно
SK>> завершиться будет честнее. Как раз для этого группы процессов и
SK>> операции с ними и были придуманы.

AK> Так не честнее, а дурнее. Hормально написанная программа под
AK> нормальной ОС должна не рухнуть, а аккуратно понять, что stdout отсох и
AK> принять соответствующие меры. А может, ей этот stdout нафиг и не нужен,
AK> как в моём случае. А выдавать SIGTERM в такой ситуации - это лечение
AK> перхоти ампутацией головы. И обязательно кто-то захочет эту голову
AK> пришивать обратно при помощи nohup.

Есть у процесса такой наследуемый атрибут - управляющий терминал (точнее
сессия - терминала в сессии может и не быть, но если он у сессии появился, то
отказаться от него можно, только создав свою новую сессию), и если он желает
от него отказаться, он должен сделать это явно. Там всего делов-то - вызвать
библиотечную функцию daemon(). Hо - просто закрыть каналы i/o, смотрящие в
терминал, для этого недостаточно (хотя необходимо, и daemon() это делает)

Почему это надо делать явно? Потому, что это требуется реже, чем наоборот.

Serguei Khvatov

--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.LINUX.CHAINIK?msgid=2:5020/175.2+7cae33ea