216:
Named pipes cannot be created as files within a normal filesystem, unlike in Unix. Also unlike their Unix counterparts, named pipes are volatile (removed after the last reference to them is closed). Every pipe is placed in the root directory of the named pipe filesystem (NPFS), mounted under the
115:
A named pipe can be used to transfer information from one application to another without the use of an intermediate temporary file. For example, you can pipe the output of gzip into a named pipe like so (here out.gz is from above example but it can be any gz):
61:" and lasts only as long as the process. A named pipe, however, can last as long as the system is up, beyond the life of the process. It can be deleted if no longer used. Usually a named pipe appears as a file, and generally processes attach to it for IPC.
543:
163:
Without this named pipe one would need to write out the entire uncompressed version of file.gz before loading it into MySQL. Writing the temporary file is both time-consuming and results in more
259:
supports named pipes as a transport for debugging sessions (in fact, VMware and WinDbg can be coupled together – as WinDbg normally requires a serial connection to the target computer – letting
609:
496:
535:
363:(IPC) share. SMB's IPC can seamlessly and transparently pass the authentication context of the user across to Named Pipes. Windows NT's entire
742:
602:
462:
798:
862:
595:
757:
309:
304:
290:
286:
29:
484:
762:
266:
do their development and testing on a single computer). Both programs require the user to enter names in the
618:
571:
521:
410:
360:
46:
432:
737:
752:
85:
can access the pipe by name — one process can open it as a reader, and the other as a writer.
684:
334:
Inefficient WAN traffic (explicit data transfer request, unlike e.g. TCP/IP sliding window, etc.)
719:
206:
517:
385:
356:
349:
8:
813:
450:
82:
818:
724:
707:
631:
263:
233:
103:
In a separate process shell, independently, one could send the data to be compressed:
69:
Instead of a conventional, unnamed, shell pipeline, a named pipeline makes use of the
236:
54:
205:
open, read from, write to, and close a pipe, respectively. Unlike Unix, there is no
635:
229:). Anonymous pipes used in pipelining are actually named pipes with a random name.
679:
659:
390:
299:
240:
34:
702:
674:
418:
380:
371:
service over Named Pipes, as are the
Exchange 5.5 Administrative applications.
342:
58:
587:
856:
793:
689:
664:
649:
581:
295:
260:
694:
577:
567:
164:
232:
They are very rarely seen by users, but there are notable exceptions. The
732:
244:
186:
536:"How to connect to SQL Server by using an earlier version of SQL Server"
841:
767:
492:
210:
170:
70:
57:, although the semantics differ substantially. A traditional pipe is "
539:
364:
328:
256:
42:
20:
831:
252:
803:
772:
368:
433:"mknod, mknodat - make directory, special file, or regular file"
337:
Peekable reads (read without removing from pipe's input buffer)
248:
836:
826:
777:
747:
458:
129:
788:
783:
654:
627:
89:
50:
38:
222:
276:
Windows NT named pipes can inherit a security context.
33:
for its behavior) is an extension to the traditional
355:Named pipes are also a networking protocol in the
314:Blocking or Nonblocking read and write (choosable)
124:/tmp/namedPipe gzip-d<out.gz>/tmp/namedPipe
109:The named pipe can be deleted just like any file:
854:
617:
348:Named pipes can also be used as an endpoint in
185:A named pipe can be accessed much like a file.
177:, also supports loading data from named pipes.
568:Linux Interprocess Communications: Named Pipes
367:protocol suite of services are implemented as
88:For example, one can create a pipe and set up
603:
482:
411:"mkfifo, mkfifoat - make a FIFO special file"
279:Summary of named pipes on Microsoft Windows:
359:(SMB) suite, based on the use of a special
247:to the host system as named pipes, and the
96:mkfifomy_pipe gzip-9-c<my_pipe>out.gz
610:
596:
243:tool, for instance, can expose emulated
443:
167:and less free space on the hard drive.
128:Then load the uncompressed data into a
855:
45:systems, and is one of the methods of
591:
16:Method of inter-process communication
49:(IPC). The concept is also found in
13:
345:3.5 has added named pipe support.
14:
874:
561:
310:Connection-oriented communication
283:Intermachine and intramachine IPC
225:" would have a full path name of
73:. It is explicitly created using
92:to compress things piped to it:
546:from the original on 2020-07-20
499:from the original on 2022-05-20
465:from the original on 2020-06-14
528:
510:
476:
425:
403:
1:
396:
317:Standard device I/O handles (
180:
483:Aidan Van Dyk (2008-03-27).
451:"13.2.7 LOAD DATA Statement"
7:
863:Inter-process communication
619:Inter-process communication
578:Introduction to Named Pipes
572:Linux Documentation Project
522:Microsoft Developer Network
518:"System.IO.Pipes Namespace"
374:
361:inter-process communication
47:inter-process communication
10:
879:
485:"Re: psql and named pipes"
455:MySQL 8.0 Reference Manual
64:
812:
718:
665:Message queue and mailbox
642:
625:
173:'s command line utility,
221:(that is, a pipe named "
146:'/tmp/namedPipe'
134:
118:
94:
331:used to create handles
207:command line interface
106:cat file > my_pipe
437:IEEE Std 1003.1-2017
415:IEEE Std 1003.1-2017
386:Anonymous named pipe
357:Server Message Block
350:Microsoft SQL Server
81:, and two separate
814:Software libraries
655:Memory-mapped file
234:VMware Workstation
850:
849:
780:(various methods)
636:computer programs
439:. The Open Group.
55:Microsoft Windows
27:(also known as a
870:
612:
605:
598:
589:
588:
555:
554:
552:
551:
532:
526:
525:
514:
508:
507:
505:
504:
480:
474:
473:
471:
470:
447:
441:
440:
429:
423:
422:
407:
324:
320:
272:
228:
220:
204:
200:
196:
192:
176:
159:
156:
153:
150:
147:
144:
141:
138:
123:
99:
80:
76:
878:
877:
873:
872:
871:
869:
868:
867:
853:
852:
851:
846:
816:
808:
722:
714:
660:Message passing
638:
630:exchange among
621:
616:
564:
559:
558:
549:
547:
534:
533:
529:
516:
515:
511:
502:
500:
481:
477:
468:
466:
449:
448:
444:
431:
430:
426:
409:
408:
404:
399:
391:Unix file types
377:
322:
318:
300:packet-oriented
267:
226:
218:
202:
198:
194:
190:
183:
174:
161:
160:
157:
154:
151:
148:
145:
142:
139:
136:
132:table like so:
126:
125:
121:
113:
107:
101:
100:
97:
78:
74:
67:
17:
12:
11:
5:
876:
866:
865:
848:
847:
845:
844:
839:
834:
829:
823:
821:
810:
809:
807:
806:
801:
796:
791:
786:
781:
775:
770:
765:
760:
755:
750:
745:
740:
735:
729:
727:
716:
715:
713:
712:
711:
710:
705:
697:
692:
687:
682:
677:
675:Anonymous pipe
672:
667:
662:
657:
652:
646:
644:
640:
639:
626:
623:
622:
615:
614:
607:
600:
592:
586:
585:
575:
563:
562:External links
560:
557:
556:
542:. 2019-11-19.
527:
509:
475:
442:
424:
419:The Open Group
401:
400:
398:
395:
394:
393:
388:
383:
381:Anonymous pipe
376:
373:
343:.NET Framework
339:
338:
335:
332:
326:
315:
312:
307:
302:
293:
284:
241:virtualization
189:SDK functions
182:
179:
135:
119:
111:
105:
95:
66:
63:
15:
9:
6:
4:
3:
2:
875:
864:
861:
860:
858:
843:
840:
838:
835:
833:
830:
828:
825:
824:
822:
820:
815:
811:
805:
802:
800:
797:
795:
792:
790:
787:
785:
782:
779:
776:
774:
771:
769:
766:
764:
761:
759:
756:
754:
751:
749:
746:
744:
741:
739:
736:
734:
731:
730:
728:
726:
721:
717:
709:
706:
704:
701:
700:
698:
696:
693:
691:
690:Shared memory
688:
686:
683:
681:
678:
676:
673:
671:
668:
666:
663:
661:
658:
656:
653:
651:
648:
647:
645:
641:
637:
633:
629:
624:
620:
613:
608:
606:
601:
599:
594:
593:
590:
583:
582:Linux Journal
579:
576:
573:
569:
566:
565:
545:
541:
537:
531:
523:
519:
513:
498:
494:
490:
489:pgsql-hackers
486:
479:
464:
460:
456:
452:
446:
438:
434:
428:
420:
416:
412:
406:
402:
392:
389:
387:
384:
382:
379:
378:
372:
370:
366:
362:
358:
353:
351:
346:
344:
336:
333:
330:
327:
316:
313:
311:
308:
306:
303:
301:
297:
296:Byte-oriented
294:
292:
288:
285:
282:
281:
280:
277:
274:
271:
265:
262:
258:
254:
250:
246:
242:
238:
235:
230:
224:
217:special path
214:
212:
209:, except for
208:
188:
178:
172:
168:
166:
133:
131:
117:
110:
104:
93:
91:
86:
84:
72:
62:
60:
56:
52:
48:
44:
40:
36:
32:
31:
26:
22:
733:Apple events
669:
548:. Retrieved
530:
512:
501:. Retrieved
488:
478:
467:. Retrieved
454:
445:
436:
427:
414:
405:
354:
347:
340:
278:
275:
269:
251:kernel mode
245:serial ports
231:
227:\\.\pipe\foo
215:
184:
169:
162:
127:
114:
108:
102:
87:
68:
28:
24:
18:
291:full-duplex
287:Half-duplex
203:CloseHandle
112:rm my_pipe
37:concept on
819:frameworks
768:OpenBinder
670:Named pipe
550:2020-05-19
503:2020-05-19
493:PostgreSQL
469:2020-05-19
397:References
264:developers
211:PowerShell
191:CreateFile
181:In Windows
171:PostgreSQL
71:filesystem
25:named pipe
725:standards
720:Protocols
685:Semaphore
540:Microsoft
365:NT Domain
329:Namespace
323:WriteFile
268:\\.\pipe\
257:Microsoft
239:hardware
219:\\.\pipe\
199:WriteFile
155:tableName
83:processes
43:Unix-like
21:computing
857:Category
832:libevent
699:Sockets
544:Archived
497:Archived
463:Archived
375:See also
319:ReadFile
305:Reliable
253:debugger
195:ReadFile
120:mkfifo-m
75:mkfifo()
804:XML-RPC
773:Sun RPC
703:Network
643:Methods
632:threads
584:, 1997)
574:, 1996)
369:DCE/RPC
79:mknod()
65:In Unix
59:unnamed
794:Thrift
695:Signal
273:form.
261:driver
249:WinDbg
143:INFILE
837:SIMPL
827:D-Bus
778:POSIX
748:D-Bus
743:CORBA
459:MySQL
255:from
187:Win32
152:TABLE
130:MySQL
98:&
842:LINX
817:and
799:TIPC
789:REST
784:SOAP
738:COM+
723:and
708:Unix
680:Pipe
650:File
628:Data
341:The
270:name
201:and
175:psql
149:INTO
140:DATA
137:LOAD
122:0666
90:gzip
53:and
51:OS/2
41:and
39:Unix
35:pipe
30:FIFO
23:, a
763:ICE
758:DCE
753:DDS
634:in
298:or
289:or
223:foo
165:I/O
77:or
19:In
859::
538:.
520:.
495:.
491:.
487:.
461:.
457:.
453:.
435:.
417:.
413:.
352:.
321:,
237:PC
213:.
197:,
193:,
611:e
604:t
597:v
580:(
570:(
553:.
524:.
506:.
472:.
421:.
325:)
158:;
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.