LINUX.ORG.RU

Почему сигнал SIGINT (ctrl+c) получаю не только я, но и мои потомки?


0

0

Когда я нажимаю ctrl+c сигнал SIGINT приходит не только мне (sh4_muxgprs), но и моим потомкам (sh4_gsm0710, pppd). Порождаю потомков fork+execv. Открепляю потомков ioctl(0, TIOCNOTTY).

ps -A дает:

274 ttyp5 00:00:00 sh4_muxgprs

275 ? 00:00:00 sh4_gsm0710

276 ? 00:00:00 pppd

Когда я на жимаю ctrl+c, то pppd пишет:

Terminating on signal 2. Это сигнал SIGINT ему как-то попадает.

term signal: 2. Это мне приходит SIGINT.

Terminating on signal 15. Это сигнал SIGTERM ему как-то попадает.

term signal: 15. Это мне приходит SIGTERM.

Причем на PC такого нет, получаю сигналы только я. А на embedded sh-linux это происходит и я не знаю почему.

Когда посылаю себе SIGTERM (командой kill), то получаю только я. Поэтому думаю, что тут что-то с терминалом связано.

В общем-то это не смертельно, но интересно знать отчего такое происходит.

>Поэтому думаю, что тут что-то с терминалом связано.

Верно.

man setsid man ctermid

anonymous
()

Не существует понятия foreground процесса. Существует только понятие foreground группы. ;)

Murr ★★
()
Ответ на: комментарий от Murr

Я не знаю, что такое foreground группы.

Из man setsid я не знаю, что такое "ведущий процесс сеанса", "ведущий процесс в группе".

Посоветуйте что почитать, чтоб не быть таким темным.

vasirck
() автор топика
Ответ на: комментарий от vasirck

4.3BSD Макьюзика. UNIX Internals Вахалии.

Про фоновые и нефоновые группы, возможно, еще написано в man tcsetpgrp. Проверить не могу, т.к. Linux нет под рукой. :(

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