Does named pipe modify the filesystem?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












3















If I create a named pipe and then read/write on it, is the filesystem where the named pipe resides affected? I.e. is the data buffered on the filesystem until read, or does it reside in memory only?










share|improve this question




























    3















    If I create a named pipe and then read/write on it, is the filesystem where the named pipe resides affected? I.e. is the data buffered on the filesystem until read, or does it reside in memory only?










    share|improve this question


























      3












      3








      3








      If I create a named pipe and then read/write on it, is the filesystem where the named pipe resides affected? I.e. is the data buffered on the filesystem until read, or does it reside in memory only?










      share|improve this question
















      If I create a named pipe and then read/write on it, is the filesystem where the named pipe resides affected? I.e. is the data buffered on the filesystem until read, or does it reside in memory only?







      filesystems pipe fifo






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Feb 10 at 19:20









      Rui F Ribeiro

      41.1k1479137




      41.1k1479137










      asked Jul 1 '13 at 13:59









      michelemarconmichelemarcon

      1,07062034




      1,07062034




















          2 Answers
          2






          active

          oldest

          votes


















          4














          The file object itself is created in the filesystem, but no data is stored in a file system. From the mkpipe(3) manpage:



           A FIFO special file is similar to a pipe, except that it is created in
          a different way. Instead of being an anonymous communications channel,
          a FIFO special file is entered into the file system by calling
          mkfifo().


          About the only time the data might be stored on disk is during hibernation when memory is written to the swap space, including buffers - however this an corner case.






          share|improve this answer






























            4














            Nope. Writing to a named pipe does not modify the filesystem (except for access times).



            Here's a demonstration:



            $ mkdir test
            $ mkdir test-ro
            $ mkfifo test/fifo
            $ mount --bind test test-ro
            $ mount -o remount,ro test-ro
            $ cat test/fifo & echo something >> test/fifo
            something


            As you can see, even though the fifo was on a read-only filesystem, we were able to write to it.



            Named pipes don't store any piped data on the filesystem. Their data is buffered in memory, separate from the filesystem buffers.






            share|improve this answer























            • Wouldn't a slow consumer of the fifo pipe cause the buffer to page to disk?

              – thesmart
              Jul 6 '16 at 6:22










            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "106"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f81334%2fdoes-named-pipe-modify-the-filesystem%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            4














            The file object itself is created in the filesystem, but no data is stored in a file system. From the mkpipe(3) manpage:



             A FIFO special file is similar to a pipe, except that it is created in
            a different way. Instead of being an anonymous communications channel,
            a FIFO special file is entered into the file system by calling
            mkfifo().


            About the only time the data might be stored on disk is during hibernation when memory is written to the swap space, including buffers - however this an corner case.






            share|improve this answer



























              4














              The file object itself is created in the filesystem, but no data is stored in a file system. From the mkpipe(3) manpage:



               A FIFO special file is similar to a pipe, except that it is created in
              a different way. Instead of being an anonymous communications channel,
              a FIFO special file is entered into the file system by calling
              mkfifo().


              About the only time the data might be stored on disk is during hibernation when memory is written to the swap space, including buffers - however this an corner case.






              share|improve this answer

























                4












                4








                4







                The file object itself is created in the filesystem, but no data is stored in a file system. From the mkpipe(3) manpage:



                 A FIFO special file is similar to a pipe, except that it is created in
                a different way. Instead of being an anonymous communications channel,
                a FIFO special file is entered into the file system by calling
                mkfifo().


                About the only time the data might be stored on disk is during hibernation when memory is written to the swap space, including buffers - however this an corner case.






                share|improve this answer













                The file object itself is created in the filesystem, but no data is stored in a file system. From the mkpipe(3) manpage:



                 A FIFO special file is similar to a pipe, except that it is created in
                a different way. Instead of being an anonymous communications channel,
                a FIFO special file is entered into the file system by calling
                mkfifo().


                About the only time the data might be stored on disk is during hibernation when memory is written to the swap space, including buffers - however this an corner case.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jul 1 '13 at 14:07









                ArcegeArcege

                17.2k44257




                17.2k44257























                    4














                    Nope. Writing to a named pipe does not modify the filesystem (except for access times).



                    Here's a demonstration:



                    $ mkdir test
                    $ mkdir test-ro
                    $ mkfifo test/fifo
                    $ mount --bind test test-ro
                    $ mount -o remount,ro test-ro
                    $ cat test/fifo & echo something >> test/fifo
                    something


                    As you can see, even though the fifo was on a read-only filesystem, we were able to write to it.



                    Named pipes don't store any piped data on the filesystem. Their data is buffered in memory, separate from the filesystem buffers.






                    share|improve this answer























                    • Wouldn't a slow consumer of the fifo pipe cause the buffer to page to disk?

                      – thesmart
                      Jul 6 '16 at 6:22















                    4














                    Nope. Writing to a named pipe does not modify the filesystem (except for access times).



                    Here's a demonstration:



                    $ mkdir test
                    $ mkdir test-ro
                    $ mkfifo test/fifo
                    $ mount --bind test test-ro
                    $ mount -o remount,ro test-ro
                    $ cat test/fifo & echo something >> test/fifo
                    something


                    As you can see, even though the fifo was on a read-only filesystem, we were able to write to it.



                    Named pipes don't store any piped data on the filesystem. Their data is buffered in memory, separate from the filesystem buffers.






                    share|improve this answer























                    • Wouldn't a slow consumer of the fifo pipe cause the buffer to page to disk?

                      – thesmart
                      Jul 6 '16 at 6:22













                    4












                    4








                    4







                    Nope. Writing to a named pipe does not modify the filesystem (except for access times).



                    Here's a demonstration:



                    $ mkdir test
                    $ mkdir test-ro
                    $ mkfifo test/fifo
                    $ mount --bind test test-ro
                    $ mount -o remount,ro test-ro
                    $ cat test/fifo & echo something >> test/fifo
                    something


                    As you can see, even though the fifo was on a read-only filesystem, we were able to write to it.



                    Named pipes don't store any piped data on the filesystem. Their data is buffered in memory, separate from the filesystem buffers.






                    share|improve this answer













                    Nope. Writing to a named pipe does not modify the filesystem (except for access times).



                    Here's a demonstration:



                    $ mkdir test
                    $ mkdir test-ro
                    $ mkfifo test/fifo
                    $ mount --bind test test-ro
                    $ mount -o remount,ro test-ro
                    $ cat test/fifo & echo something >> test/fifo
                    something


                    As you can see, even though the fifo was on a read-only filesystem, we were able to write to it.



                    Named pipes don't store any piped data on the filesystem. Their data is buffered in memory, separate from the filesystem buffers.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Jul 1 '13 at 14:05







                    user26112



















                    • Wouldn't a slow consumer of the fifo pipe cause the buffer to page to disk?

                      – thesmart
                      Jul 6 '16 at 6:22

















                    • Wouldn't a slow consumer of the fifo pipe cause the buffer to page to disk?

                      – thesmart
                      Jul 6 '16 at 6:22
















                    Wouldn't a slow consumer of the fifo pipe cause the buffer to page to disk?

                    – thesmart
                    Jul 6 '16 at 6:22





                    Wouldn't a slow consumer of the fifo pipe cause the buffer to page to disk?

                    – thesmart
                    Jul 6 '16 at 6:22

















                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Unix & Linux Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f81334%2fdoes-named-pipe-modify-the-filesystem%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown






                    Popular posts from this blog

                    How to check contact read email or not when send email to Individual?

                    Displaying single band from multi-band raster using QGIS

                    How many registers does an x86_64 CPU actually have?