[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Амперснад в bash



On Wed, 20 Jan 2016, Dmitry Derjavin wrote:

Пн, 18 янв 2016, 21:50, walter:

на деле же вывод процесса не скрывается. управление терминалом
возвращается, но вывод запущенной команды продолжает сыпаться в
терминал.

Насколько я понимаю, дело в том, что фоновый процесс имеет право
игнорировать SIGTTOU, который он получает каждый раз, когда пытается
вывести что-то на стандартный вывод, находясь в фоне. Оправдано такое
поведение или нет в каждом конкретном случае — вопрос спорный. Но
определённо это фича а не баг. Причём, фича очень древняя. ;)


 Проблема еще и в том, что в зависимости от настроек терминала
 сигнал SIGTTOU может посылаться или нет:
 http://curiousthing.org/sigttin-sigttou-deep-dive-linux

 Мне кажется, что это все проистекает из вопросов типа:
 кому надо и кому не надо посылать SIGTTOU в pipe
 comand1 | comand2 &
 И не надо забывать о stderr.

Ю.

Reply to: