buffering pipes

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Apr 16 13:13:09 EEST 2007


On 2007-04-16 12:23, Nick Demou <ndemou at gmail.com> wrote:
> έχω αυτή την εντολή:
>    prog1 | prog2
> υπάρχει κάποιο prog_buf με το οποίο θα μπορούσα να την κάνω έτσι:
>    prog1 | prog_buf | prog2
> όπου το prog_buf ΠΡΩΤΑ θα διαβάσει ΟΛΟ το output του prog1 και META θα
> το στείλει στο prog2
>
> _______________________________
>
> ΥΓ: ορίστε και ο λόγος που το θέλω:
>
> έχω ένα μηχανάκι το οποίο μαζεύει emails από μερικά pop accounts με το
> fetchmail και τα φιλτράρει με το maildrop. Το κακό είναι ότι αν ένα
> email θέλει πάνω από 5 λεπτά για να κατέβει η διαδικασία τερματίζεται
> με το error
>
>    fetchmail: SIGPIPE thrown from an MDA or a stream socket error

Δοκίμασε με μικρότερο timeout από 300 sec στο fetchmail.  Και το
maildrop και το fetchmail έχουν default timeout 300 sec, και μάλλον
αυτό που πετυχαίνεις είναι ένα πανέμορφο race condition, μεταξύ
fetchmail και maildrop, για το ποιός θα κλείσει πρώτος το pipe στα
μούτρα του άλλου...

    fetchmail -t 290 ...

- Γιώργος




More information about the Linux-greek-users mailing list