Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Valentin Davydov                     2:5020/400     10 Oct 2005  12:54:09
 To : Eugene Grosbein
 Subject : Re: pipe
 -------------------------------------------------------------------------------- 
 
 >   From: Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org>
 >   Date: Mon, 10 Oct 2005 00:34:02 +0400
 >
 >sh -c 'sleep 60000 |
 > ( sleep 123456 < /dev/stdin &
 >   echo $! >/tmp/pidfile
 >   wait ) '
 >
 >sleep 60000 тут симулирует долгоиграющее приложение,
 >которое иногда генерирует вывод. sleep 123456 - такое же
 >приложение, которое этот вывод должно читать.
 >
 >Вообще-то мне надо следующее: при помощи /bin/sh апустить
 >writer | reader и положить PID читателя в /tmp/pidfile,
 >выше указана попытка. Попытка неуспешная, fstat сообщает,
 >что стандартным вводом для читателя является /dev/null.
 >
 >man sh говорит, что неинтерактивный шелл делает /dev/null
 >асинхронно запускающейся команде. Как можно обойти это?
 
 У меня вполне работает, что из крона, что из консоли
 
 /bin/sh -c 'sleep 2 | (sleep 1 & echo $! > /var/run/pidfile ;wait )'
 
 Может, не все шеллы /dev/stdin понимают?
 
 Вал. Дав.
 
 P.S. -i
 --- ifmail v.2.15dev5.3
  * Origin: St. Petersburg State University (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: pipe   Valentin Davydov   10 Oct 2005 12:54:09 
Архивное /ru.unix.bsd/44171b1508d5.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional