|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/44171b1508d5.html, оценка из 5, голосов 10
|