[TriLUG] confessions of a bash junky: the mkfifo command

Brian McCullough bdmc at bdmcc-us.com
Tue Aug 28 13:58:38 EDT 2007


On Tue, Aug 28, 2007 at 01:22:25PM -0400, James Olin Oden wrote:
> On 8/28/07, Brian McCullough <bdmc at bdmcc-us.com> wrote:
> >
> > Yup.  This is an OLD UNIX trick ( tool, whatever ) used for interprocess
> > communication both internally and at the command line.  ( That's what
> > implements the "|" in any shell in any of the UN*X-alikes. )
> >
> Not sure about that last statement.  What he is creating is a named
> pipe (init uses this on most linuxes to take commands and transfer its
> state when it re-execs itself).  Named pipes are created in C with the
> mknod() call, whereas the | operator in shell is creating an unnamed
> pipe (i.e. one without any ties to a filesystem), and that  is created
> with the pipe() call in C (to read these man pages do:  man 2 pipe or
> man 2 mknod).


True.  I stand corrected.  I was oversimplifying.


B-)





More information about the TriLUG mailing list