[Comm] man через ssh

Dmitry Chistikov dd1email на gmail.com
Чт Фев 24 12:55:27 UTC 2011


Кстати, честно говоря, я не понимаю вот этого (последний write() в stdout
потомка):

> [pid 27496] write(1, " unfinished .\nWhen the call retu"..., 4096) = -32

Почему он возвращает -32, а не -1?

> Да, если не заворачивать все это дело в ssh, то bzip2 молчит. Ниже 
> приведен strace по сигналам, но я не вижу SIGPIPE в листинге
> 
> $ ssh localhost -- strace -f -e trace=signal,process -- man -w strace
> [...]

Он там есть, но не выставляется, а уже наблюдается:

> [pid 24150] rt_sigprocmask(SIG_BLOCK, NULL, [PIPE], 8) = 0

По-видимому, его выставяет sshd? Вообще, в его коде реакция на SIGPIPE
для порождаемых сессий сбрасывается на умолчательный (SIG_DFL) вариант.

Есть ли разница между

$ ssh localhost -- strace -e trace=signal sh -c true

и

$ strace -e trace=signal sh -c true

?

(У меня ее нет и по вызовам rt_sigprocmask видно, что SIGPIPE не
игнорируется).

-- 
Дмитрий Чистиков


Подробная информация о списке рассылки community