LINUX.ORG.RU

Запуск фонового процесса из гуёвой (gtkmm) программы


0

0

Необходимо запустить фоновый процесс (расчётная программа) из гуёвой программы (на gtkmm). Запуск производится с помощью Glib::spawn_async, который запускает скрипт следующего содержания:

run_calc() (
"${STANDARD_DIR}/bin/${CALCULATOR}" "${prj_name}" 2>"${work_dir}/errorlog.txt" >/dev/null </dev/null;
echo $? >${work_dir}/exit_status
)

run_calc &

$CALCULATOR - собственно бинарник расчётной программы

Всё работает нормально, за исключением одной странной особенности: если вышеупомянутую гуёвую программу запустить из терминала, из неё запустить расчётный процесс, после чего вернуться в терминал и там нажать ^C, то завершается не только гуй, но и расчётный процесс получает почему-то SIGINT. Специально проверял - процессы, относящиеся к расчётной программе, не являются дочерними процессами графического интерфейса, у них ни один файловый дескриптор не связан с текущим терминалом. Так откуда к нми сигнал тогда приходит?

Вообще, есть ли способ узнать, какой процесс послал сигнал другому процессу?

★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.