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