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 theNamedPipe
framework (not available on all macOS versions).