ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Valentin Lavrinenko <lvu@uaservice.com.ua>
To: community@lists.altlinux.org
Subject: [Comm] Кто получает SIGINT в пайпе?
Date: Wed, 16 Nov 2005 14:43:55 +0200
Message-ID: <437B298B.70806@uaservice.com.ua> (raw)

Hi, All!

Задача следующая: мне надо запустить некоторую команду в bash скрипте 
таким образом,
чтобы:
1) Вывод команды одновременно шел на консоль и в файл
2) Была возможность определить код возврата команды
3) Команда нормально прерывалась по Ctrl-C

1) рещается с помощью tee, это понятно - пишем command | tee file. 
Насчет 2) долго рылся,
в конце концов нашел полезную bash'евскую фичу PIPESTATUS.  Проблема 
сейчас с 3) - насколько
я понял, SIGINT от Ctrl-C получает последняя команда пайпа, т.е. tee. В 
результате "основная"
команда, судя по всему, получает SIGPIPE вместо SIGINT, и выполняет 
совсем не те действия,
которые нужно (опять же, возвращает не тот код ошибки).

Вопрос: можно ли как-то заставить bash (или кто там за это отвечает?) 
отдавать SIGINT первой
(в общем случае - произвольной) команде в пайплайне? Я, в общем-то, могу 
написать свою обертку
на C, которая будет выполнять все пункты 1) - 3), но если есть 
возможность сделать это стандартными
средствами - изобретать велосипед неохота.




             reply	other threads:[~2005-11-16 12:43 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-16 12:43 Valentin Lavrinenko [this message]
2005-11-16 14:01 ` [Comm] " Vitaly Ostanin

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=437B298B.70806@uaservice.com.ua \
    --to=lvu@uaservice.com.ua \
    --cc=community@lists.altlinux.org \
    /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