mkfifo - macOS
Overview
The mkfifo command creates a named pipe (FIFO) in the specified location. A FIFO is a special file that behaves like a pipe but is accessible by name in the file system. It allows multiple processes to communicate with each other in a first-in, first-out (FIFO) manner.
Syntax
mkfifo [-m mode] <fifo-file>
Options/Flags
- -m mode: Set the file mode (permissions) of the created FIFO. The default mode is 0600.
 
Examples
Creating a FIFO
To create a FIFO named my_fifo in the current working directory:
mkfifo my_fifo
Setting File Mode
To create a FIFO with mode 0777:
mkfifo -m 0777 my_fifo
Common Issues
Permission Denied
If you encounter a “Permission denied” error, ensure you have sufficient permissions to create files in the specified location.
Integration
FIFOs can be used with other commands, such as cat, tail, and head, to create simple communication pipelines. For example:
mkfifo my_pipe
cat my_file > my_pipe &
tail -f my_pipe
This command creates a FIFO named my_pipe, writes the contents of my_file to the FIFO using cat, and continuously displays the contents of the FIFO using tail.
Related Commands
pipe: Creates an anonymous pipe.namedpipe: Creates a named pipe using theNamedPipeframework (not available on all macOS versions).