Discussion:
Przekierowanie wejścia z pliku
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
m***@gmail.com
2008-03-22 09:01:32 UTC
Permalink
witam!

Mam plik w który co jakiś czas jest wpisywana komenda która ma być
uruchomiona.
Komenda ta powinna być uruchamiana natychmiast lub z niewielkim(do 3
sek) opuźnieniem po
jej wpisaniu do pliku. I teraz moje pytanie jak to zrobić. Jeżeli
zrobie sh < plik to sh zamknie się po napotkaniu
EOF ale w późniejszym czasie może pojawić się kolejna komenda - i nie
zostanie uruchomiona. I tu moje pytanie czy da się tak przekierować
tak by sh reagowało na każde późniejsze wpisanie jakiejś danej do tego
pliku?
może jakiś plik który byłby strumieniem? Ostatecznym moim pomysłem
jest dorzucenie pliku do cron'a
ale to nie będzie najszybsze ani najelegantsze rozwiązanie więc proszę
o pomoc:)

Pozdrawiam Michał
Mariusz Kruk
2008-03-22 10:13:30 UTC
Permalink
Post by m***@gmail.com
Mam plik w który co jakiś czas jest wpisywana komenda która ma być
uruchomiona.
Komenda ta powinna być uruchamiana natychmiast lub z niewielkim(do 3
sek) opuźnieniem po
Argh! "op_ó_ź nieniem".
Post by m***@gmail.com
jej wpisaniu do pliku. I teraz moje pytanie jak to zrobić. Jeżeli
zrobie sh < plik to sh zamknie się po napotkaniu
EOF ale w późniejszym czasie może pojawić się kolejna komenda - i nie
zostanie uruchomiona. I tu moje pytanie czy da się tak przekierować
tak by sh reagowało na każde późniejsze wpisanie jakiejś danej do tego
pliku?
Możesz zrobić rurkę nazwaną, ale to i tak nie zapobiegnie "doczytaniu do
końca".
Post by m***@gmail.com
może jakiś plik który byłby strumieniem? Ostatecznym moim pomysłem
jest dorzucenie pliku do cron'a
ale to nie będzie najszybsze ani najelegantsze rozwiązanie więc proszę
o pomoc:)
Jedynym rozwiązaniem, które widzę, będzie sprawdzanie z dość dużą
rozdzielczością (nie mniejszą niż akceptowalne opóźnienie) stanu pliku
(wystarczy sprawdzanie mtime, o ile się nie mylę). Ale to faktycznie
brzydkie rozwiązanie.
--
[------------------------] Try to go on, since this might almost
[ ***@epsilon.eu.org ] work.(TeX)
[ http://epsilon.eu.org/ ]
[------------------------]
Pete
2008-03-22 12:05:39 UTC
Permalink
Post by Mariusz Kruk
Post by m***@gmail.com
Mam plik w który co jakiś czas jest wpisywana komenda która ma być
uruchomiona.
Komenda ta powinna być uruchamiana natychmiast lub z niewielkim(do 3
sek) opuźnieniem po
Argh! "op_ó_ź nieniem".
Jedynym rozwiązaniem, które widzę, będzie sprawdzanie z dość dużą
rozdzielczością (nie mniejszą niż akceptowalne opóźnienie) stanu pliku
(wystarczy sprawdzanie mtime, o ile się nie mylę). Ale to faktycznie
brzydkie rozwiązanie.
tail -f
--
Pete
Mariusz Kruk
2008-03-22 13:25:44 UTC
Permalink
epsilon$ while read LINE; do echo "$LINE"; done < "Pete"
Post by Pete
Post by Mariusz Kruk
Post by m***@gmail.com
Mam plik w który co jakiś czas jest wpisywana komenda która ma być
uruchomiona.
Komenda ta powinna być uruchamiana natychmiast lub z niewielkim(do 3
sek) opuźnieniem po
Argh! "op_ó_ź nieniem".
Jedynym rozwiązaniem, które widzę, będzie sprawdzanie z dość dużą
rozdzielczością (nie mniejszą niż akceptowalne opóźnienie) stanu pliku
(wystarczy sprawdzanie mtime, o ile się nie mylę). Ale to faktycznie
brzydkie rozwiązanie.
tail -f
Ale, jak rozumiem, w tym pliku zastępowana jest stara zawartość nową, a
nie dopisywana nowa treść na końcu.
Zresztą, tail -f nie robi nic innego, jak stat() na pliku co sekundę.
--
\.\.\.\.\.\.\.\.\.\.\.\.\.\ I am Yakko of Borg - You will be as-
.\***@epsilon.eu.org.\.\. sim...HELLO, NURSE!
\.http://epsilon.eu.org/\.\
.\.\.\.\.\.\.\.\.\.\.\.\.\.
m***@gmail.com
2008-03-22 20:21:30 UTC
Permalink
Post by Pete
tail -f
Ale, jak rozumiem, w tym pliku zast?powana jest stara zawarto?? now?, a
nie dopisywana nowa tre?? na ko?cu.
Dzieki za pomoc i przepraszam za bledy ort. Udalo sie tail'em :

tail -f plik | sh &

Tak, wartosc w pliku jest zastepowana jednak tail -f sobie z tym
radzi. Podobno powinnien sobie poradzic nawet po przeniesieniu pliku w
inne miejsce:)

Pozdrawiam Michal Butterweck
Mariusz Kruk
2008-03-22 22:05:15 UTC
Permalink
Post by m***@gmail.com
Post by Pete
tail -f
Ale, jak rozumiem, w tym pliku zast?powana jest stara zawarto?? now?, a
nie dopisywana nowa tre?? na ko?cu.
tail -f plik | sh &
Tak, wartosc w pliku jest zastepowana jednak tail -f sobie z tym
radzi.
Dalece nie zawsze i nie wszędzie. Pamiętaj, że to jest rozwiązanie
nieprzenośne.
Post by m***@gmail.com
Podobno powinnien sobie poradzic nawet po przeniesieniu pliku w
inne miejsce:)
A to akurat nic dziwnego.
--
[------------------------] Wow---I never thought anybody would tweak me
[ ***@epsilon.eu.org ] here.(TeX)
[ http://epsilon.eu.org/ ]
[------------------------]
Loading...