Welcome to the Linux Foundation Forum!

fifo doesn't work

When I try to pass some data trough an fifo, I can't get what I expect. First I creat an fifo named "fifo1" by using "mkfifo", and then I type the following commands:

cat
echo "some data" >fifo1

It works sometimes since I can see the output("some data") from cat, but sometimes I cannot see any output. I'm now using Ubuntu 11.10 with Linux version 3.0.0-16-generic.

What could be the cause? My guess is the buffering. Any solution to this? Thanks!

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Comments

  • Posts: 647
    You can check if the program supports unbuffering (grep, sed, awk for example do).

    You can try something ala:
    1. tail -f logfile | unbuffer grep 'foo bar' | awk ...

    (the expect package contaings the unbuffer program)

    Tee might be useful as well
    1. man tee
    1. man unbuffer

  • Thanks Marc. It turned out that the problem is not the bufferring, but something wrong inside the fifo file.
    I tried the pair of command
    1. cat <fifo1 &
    2. echo "111" >fifo1
    for several times, and it stopped to work at about the 4th time I tried. Even "unbuffer" could not change anything.
    Furthermore, writing to the fifo (without any reader) wouldn't block the command(echo >fifo1). Sometime later, it suddenly began to work, but writing without any reader still didn't block the command.

    Later I removed this fifo and created a new one, and now everything works fine. BTW, I put this fifo inside a Ubuntu One folder, so it's automatically synchronized to the server, and I'm not sure whether it's the cause.

    Thanks again. :)
  • Posts: 647
    The problem most probably comes from the Ubuntu One syncronization...

    Regards
  • Posts: 501
    All Linux I/O is buffered. It is NOT guaranteed to be delivered in any particular schedule. Try using the sync command between writing and reading the stream.

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training