bash fifos and golang channel

July 4, 2016    general blog

I have been reading about bash this weekend and came to know about FIFOs. After first glance I found similarities between named pipes and golang channel.

FIFOs are created using the mkfifo command.

$ mkfifo test

FIFOs provide a named pipe to shuttle data from one place to another. If we create a FIFO and send some data to it, it will remain blocked forever, until a command tries to read from it. If you are familiar with golang and golang channels, that’s an Unbuffered/synchronous channel. Unbuffered channel blocks until there is a receiver receiving from a channel.

named pipes are very interesting and can be used in some interesting ways.