2013-07-15 2 views
1

У меня есть два процесса. Я запускаю первый процесс с консоли (bash). И первый процесс - это старинный нереста второго процесса. Второй процесс - чтение из файла, пока он не получит сигнал SIGINT или SIGTERM от пользователя. Но когда я нажимаю ctrl + c, программа bash доставляет сигнал первому процессу, поэтому его убивают, а мое приложение отключается, потому что я не обрабатывал его.как заставить bash передать сигнал другому процессу?

так что мой вопрос в том, как я могу заставить программу bash передать сигнал второму процессу?

Спасибо.

ответ

1

Этот bash не генерирует сигнал, tty генерирует сигналы активному процессу. Установите дочерний процесс активным (используя tcsetpgrp), чтобы он получал сигналы от tty.

перед тем, как сделать, прочитайте, пожалуйста, статьи о том, как работает tty.

+1

Можете ли вы предоставить мне ссылку, где tty объяснялось очень хорошо или что является вашим любимым? –

+1

http://www.linusakesson.net/programming/tty/index.php Я думаю, что это хороший учебник. –

Смежные вопросы