Ситуация такая. Есть большая программа, которая в некоторые моменты запускает с помощью fork-and-exec команду "xterm -e shell-script.sh", а этот shell-script.sh в свою очередь вызывает другую программу. Последняя отрисовывает графическое окно и затем ждёт его закрытия.
Проблема в том, что если после появления этого окна закрыть не его, а родительский xterm (который был запущен fork-and-exec-ом), то программа вместе со своим окошком не умирают, а зависают навеки. Окно не реагирует на попытки его закрыть и не перерисовывается. Единственное, что помогает - "kill -9".
Почему так? Если запускать не мою программку, а, скажем, xfontsel, то всё хорошо, при закрытии xterm умирает и этот xfontsel. К сожалению, мне сложно показать код программы :((
Всё-таки дело не в нём, а в том, что влияет на реакцию запущенного процесса на умирание терминала-предка?