How does a FIFO (named pipe) differs from a regular pipe (|)? As I understand from [Wikipedia][1] this pipe "keeps living" after the process was ended and can be deleted sometime afterwards. I don't understand what is the meaning of keep living after a process. If the process is based on a command containing a pipe (`cat x | grep y`), we can just write it again (or, expand it from a variable). If the process is based on running a file, well, the code is already in the file, so what is the meaning of keep being alive after the process was ended? [1]: https://en.wikipedia.org/wiki/Named_pipe