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


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Eugene Grosbein                      2:5006/1       10 Oct 2005  16:30:46
 To : Valentin Davydov
 Subject : Re: pipe
 -------------------------------------------------------------------------------- 
 
 10 окт 2005, понедельник, в 11:54 KRAST, Valentin Davydov написал(а):
 
  >>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
  >>асинхронно запускающейся команде. Как можно обойти это?
 
  VD> У меня вполне работает, что из крона, что из консоли
  VD> /bin/sh -c 'sleep 2 | (sleep 1 & echo $! > /var/run/pidfile ;wait )'
 
 Оно работает, но у sleep 1 стандартным вводом получается /dev/null,
 а этого мне не надо.
 
  VD> Может, не все шеллы /dev/stdin понимают?
 
 Мне не надо, чтобы все, мне надо у /bin/sh от FreeBSD 4.11.
 
  VD> Вал. Дав.
  VD> P.S. -i
 
 Конечно, пробовал. Hе помогает.
 
 Eugene
 -- 
 Устав от радостных пиров,
 Hе зная страхов и желаний
 --- slrn/0.9.8.0 (FreeBSD)
  * Origin: Svyaz Service JSC (2:5006/1@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 Re: pipe   Eugene Grosbein   10 Oct 2005 16:30:46 
Архивное /ru.unix.bsd/26093bac3a490.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional