Concept

Tube nommé

Résumé
In computing, a named pipe (also known as a FIFO for its behavior) is an extension to the traditional pipe concept on Unix and Unix-like systems, and is one of the methods of inter-process communication (IPC). The concept is also found in OS/2 and Microsoft Windows, although the semantics differ substantially. A traditional pipe is "unnamed" 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. Instead of a conventional, unnamed, shell pipeline, a named pipeline makes use of the . It is explicitly created using mkfifo() or mknod(), and two separate processes can access the pipe by name — one process can open it as a reader, and the other as a writer. For example, one can create a pipe and set up gzip to compress things piped to it: mkfifo my_pipe gzip -9 -c < my_pipe > out.gz & In a separate process shell, independently, one could send the data to be compressed: cat file > my_pipe The named pipe can be deleted just like any file: rm my_pipe 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): mkfifo -m 0666 /tmp/namedPipe gzip -d < out.gz > /tmp/namedPipe Then load the uncompressed data into a MySQL table like so: LOAD DATA INFILE '/tmp/namedPipe' INTO TABLE tableName; 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 I/O and less free space on the hard drive. PostgreSQL's command line utility, psql, also supports loading data from named pipes. A named pipe can be accessed much like a file. Win32 SDK functions CreateFile, ReadFile, WriteFile and CloseHandle open, read from, write to, and close a pipe, respectively.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.