ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Henri Bourbon <useperl@fastmail.fm>
To: community@altlinux.ru
Subject: [Comm] ðÏÞÅÍÕ ÂÕÆÅÒÉÚÁÃÉÑ ÍÅÎÑÅÔ ÐÏÒÑÄÏË ×Ù×ÏÄÉÍÙÈ × ÆÁÊÌ ÓÔÒÏË?
Date: Fri, 25 Oct 2002 21:20:14 +0400
Message-ID: <18541747015.20021025212014@fastmail.fm> (raw)
In-Reply-To: <20021025194035.401ec5c0.vsu@altlinux.ru>

On 25 Oct 2002  19:40, Sergey Vlasov wrote:

> xxxxxxxx 2>&1 | tee file

> Со многими программами в этом случае возникает проблема с буферизацией
> вывода - когда программа обнаруживает, что stdout направлен не на
> терминал, вывод начинает идти с использованием буфера, поэтому выходные
> строки могут появляться кучами с паузой между ними.

Да,   в  свое  время меня очень обескуражил этот эффект. Теперь с этим я
разобрался,  непонятно  же  другое:  почему  буферизация  может поменять
*порядок* выводимых в файл строк. Поясняю:

$ perl -we 'print "1-STDOUT\n"; warn "2-STDERR\n";'
1-STDOUT
2-STDERR

Что  может  быть  проще?  Сначала  печатаем  строку 1 в один файл, затем
строку  2  в  другой.  Т.  к.  оба  файла  оказываются  одним  и  тем же
(терминалом,  или,  грубо говоря, просто экраном), то сначала печатается
строка 1, затем -- строка 2. Как же может быть иначе? Ан нет, подключаем
перенаправления, получаем:

$ perl -we 'print "1-STDOUT\n"; warn "2-STDERR\n";' >out 2>&1
$ cat out
2-STDERR
1-STDOUT

Странно! Почему так?.. ладно, выключаем буферизацию:

$ perl -we '$| = 1; print "1-STDOUT\n"; warn "2-STDERR\n";' >out 2>&1
$ cat out
1-STDOUT
2-STDERR

Теперь все нормально... Каким же волшебным образом буферизация влияет на
то, в каком порядке стоки попадут в файл?

-- 
HB



  reply	other threads:[~2002-10-25 17:20 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-25 12:58 [Comm] перенаправление вывода в лог Sinom
2002-10-25 13:07 ` Sergey Vlasov
2002-10-25 13:15 ` Слава Гарелин
2002-10-25 13:34   ` Андрей Булава
2002-10-25 15:09     ` Sinom
2002-10-25 15:31       ` Re[2]: [Comm] ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ ×Ù×ÏÄÁ × ÌÏÇ ASA
2002-10-25 15:40         ` Re[3]: " ASA
2002-10-25 16:05         ` Re[2]: [Comm] перенаправление вывода в лог Sinom
2002-10-25 16:26           ` Re[4]: [Comm] ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ ×Ù×ÏÄÁ × ÌÏÇ ASA
2002-10-25 16:57             ` Re[4]: [Comm] перенаправление вывода в лог Sinom
2002-10-25 17:37               ` Re[6]: [Comm] ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ ×Ù×ÏÄÁ × ÌÏÇ ASA
2002-10-25 19:50                 ` [Comm] перенаправление вывода в лог Anton Kovalenko
2002-10-26 10:20                   ` Re[2]: [Comm] ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ ×Ù×ÏÄÁ × ÌÏÇ ASA
2002-10-26 11:49                   ` [Comm] перенаправление вывода в лог Sinom
2002-10-26 23:11                     ` Anton Kovalenko
2002-10-28  7:16         ` [Comm] Re: РЕТЕОБРТБЧМЕОЙЕ ЧЩЧПДБ Ч МПЗ Vitaly Ostanin
2002-10-28  8:23           ` [Comm] Re: [JT] Re: òåôåïâòôâþíåïêå þýþðäâ þ íðú ASA
2002-10-28  8:41             ` [Comm] Re: тефепвтфвюнепке юэюрдв ю нръ Vitaly Ostanin
2002-10-28  8:54               ` [Comm] Re: [JT] Так лучше? ASA
2002-10-28  9:14                 ` Maxim Tyurin
2002-10-28  9:44                 ` W.Kondratev
2002-10-28 10:22                 ` Vitaly Ostanin
2002-10-28 12:06                 ` sam
2002-10-28 13:28                 ` Ruslan N. Balkin
2002-10-28 14:05                   ` [Comm] Re[2]: " ASA
2002-10-28 14:18                     ` Dmitry E. Oboukhov
2002-10-28 14:30                       ` [Comm] Re[2]: " ASA
2002-10-28 14:42                         ` [Comm] " Dmitry E. Oboukhov
2002-10-28 14:53                           ` [Comm] " ASA
2002-10-28 15:23                             ` [Comm] " Dmitry E. Oboukhov
2002-10-28 15:54                               ` [Comm] " ASA
2002-10-28 16:07                                 ` [Comm] " Dmitry E. Oboukhov
2002-10-28 16:44                                   ` Sergey Vlasov
2002-10-28 16:53                                     ` [Comm] " ASA
2002-10-28 17:41                                       ` [Comm] " Sergey Vlasov
2002-10-28 17:57                                         ` [Comm] Re[2]: " ASA
2002-10-28 15:02                         ` [Comm] Re[2]: [Comm] Re[2]: [Comm] " Ruslan N. Balkin
2002-10-28 18:04                         ` [Comm] MIME в звголовке - " Valentin Nechayev
2002-10-28 14:56                     ` Sergey Vlasov
2002-10-28 15:25                       ` [Comm] Re[2]: " ASA
2002-10-29  7:55                         ` Vitaly Ostanin
2002-10-29  8:31                           ` [Comm] " ASA
2002-10-29  9:00                             ` Vitaly Ostanin
2002-10-28 14:13                   ` Vitaly Ostanin
2002-10-28  9:45               ` [Comm] Re: тефепвтфвюнепке юэюрдв ю нръ Andrey Golovin
2002-10-28  8:59                 ` [Comm] Re[2]: [Comm] Заголовок выпрямил ASA
2002-10-28 11:12                   ` Andrey Golovin
2002-10-28  9:39             ` [Comm] Re: [JT] Re: РЕТЕОБРТБЧМЕОЙЕ ЧЩЧПДБ Ч МПЗ Anton Kovalenko
2002-10-28 10:19               ` [Comm] Re[2]: " ASA
2002-10-28 10:25                 ` Vitaly Ostanin
2002-10-28 17:56             ` [Comm] MIME в заголовках - " Valentin Nechayev
2002-10-25 15:34       ` [Comm] перенаправление вывода в лог Sergey Vlasov
2002-10-25 15:24     ` Sinom
2002-10-25 15:40       ` Sergey Vlasov
2002-10-25 17:20         ` Henri Bourbon [this message]
2002-10-25 17:42           ` [Comm] ðÏÞÅÍÕ ÂÕÆÅÒÉÚÁÃÉÑ ÍÅÎÑÅÔ ÐÏÒÑÄÏË ×Ù×ÏÄÉÍÙÈ × ÆÁÊÌ ÓÔÒÏË? ASA
2002-10-27 10:54             ` [Comm] Почему буферизация меняет порядок выводимых в файл строк? Valentin Nechayev
2002-10-27 10:53           ` Valentin Nechayev
2002-10-28  2:22             ` [comm] ðÏÞÅÍÕ ÂÕÆÅÒÉÚÁÃÉÑ ÍÅÎÑÅÔ ÐÏÒÑÄÏË ×Ù×ÏÄÉÍÙÈ × ÆÁÊÌ ÓÔÒÏË? Henri Bourbon
2002-10-25 13:25 ` [Comm] перенаправление вывода в лог Andy Gorev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=18541747015.20021025212014@fastmail.fm \
    --to=useperl@fastmail.fm \
    --cc=community@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git