LINUX.ORG.RU
вы можете сделать setpgrp 0,0 после fork(). тогда при
попытке чтения child получит SIGTTIN. процесс будет
остановлен, умрет после завершения parent. если child
выставит SIG_IGN для SIGTTIN, попытка чтения вернет EIO.

см также нитку "что лучше два пайпа или псевдотерминал???".
idle ★★★★★
()
Ответ на: комментарий от idle
Это я понял.

А можно ли осуществить непосредственную запись в родительский терминал после 'setpgrp 0,0' ??? или всётаки нужно юзать пайпы???

cvv ★★★★★
()
Ответ на: комментарий от cvv
Фоновые процессы могут писать в свой терминал, если у терминала выставлен соотв. бит в флагах.

См. man по флажкам. ;)

Murr ★★
()
Ответ на: комментарий от Murr
немножко наоборот, если L_TOSTOP(tty), то не разрешаем
фоновому писать, SIGTTOU или EIO если SIG_IGN. по умолчанию
очищен, поэтому писать можно.
idle ★★★★★
()
Ответ на: комментарий от idle
На моей системе по непонятной причине по умолчанию писать нельзя!!!
cvv ★★★★★
()
Ответ на: комментарий от idle
idle:

Если "по умолчанию" - это настройки терминала при создании, то - да. А в том же MC subshell всегда закрыт, из-за чего могут быть нездоровые эффекты. ;)

Murr ★★
()
Ответ на: комментарий от cvv
Я правильно ето реализовал на перле ???

            if(isatty(1)){                                                                                                                   
                $termios->getattr( 1 );                                                                                                      
                $c_lflag = $termios->getlflag;                                                                                               
                $termios->setlflag( $c_lflag & ~(&POSIX::TOSTOP) );                                                                          
                $termios->setattr( 1, &POSIX::TCSANOW );                                                                                     
            }                                                                                                                                
 
cvv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.