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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.