Two named PIPEs (PIPE_in/PIPE_out) connected with `tail -f` | String sent to PIPE_in doesn't reach PIPE_out












1















1.Create named PIPEs, pipe_in and pipe_out by running:



$ mkfifo pipe_in
$ mkfifo pipe_out


2.Connect pipe_in to pipe_out:



TERM0: $ tail -f pipe_in > pipe_out


3.Send string hello world! to pipe_in and expect it to arrive at pipe_out:



TERM1: $ tail -f pipe_out
TERM2: $ echo "hello world!" > pipe_in


I can only see the string arriving at pipe_out if I kill command in 2..
It seems to be a buffering issue so I decided to run all commands above with stdbuf -i0 -e0 -o0 <command> but it didn't help...



Can anyone help with this please?










share|improve this question







New contributor




fmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1





    Good point, @Jeff Schaller. I have just deleted that question. I find this one, here, more fundamental. As soon as I solve this one I will likely be able to solve the other one too.

    – fmagno
    2 hours ago


















1















1.Create named PIPEs, pipe_in and pipe_out by running:



$ mkfifo pipe_in
$ mkfifo pipe_out


2.Connect pipe_in to pipe_out:



TERM0: $ tail -f pipe_in > pipe_out


3.Send string hello world! to pipe_in and expect it to arrive at pipe_out:



TERM1: $ tail -f pipe_out
TERM2: $ echo "hello world!" > pipe_in


I can only see the string arriving at pipe_out if I kill command in 2..
It seems to be a buffering issue so I decided to run all commands above with stdbuf -i0 -e0 -o0 <command> but it didn't help...



Can anyone help with this please?










share|improve this question







New contributor




fmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 1





    Good point, @Jeff Schaller. I have just deleted that question. I find this one, here, more fundamental. As soon as I solve this one I will likely be able to solve the other one too.

    – fmagno
    2 hours ago
















1












1








1








1.Create named PIPEs, pipe_in and pipe_out by running:



$ mkfifo pipe_in
$ mkfifo pipe_out


2.Connect pipe_in to pipe_out:



TERM0: $ tail -f pipe_in > pipe_out


3.Send string hello world! to pipe_in and expect it to arrive at pipe_out:



TERM1: $ tail -f pipe_out
TERM2: $ echo "hello world!" > pipe_in


I can only see the string arriving at pipe_out if I kill command in 2..
It seems to be a buffering issue so I decided to run all commands above with stdbuf -i0 -e0 -o0 <command> but it didn't help...



Can anyone help with this please?










share|improve this question







New contributor




fmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












1.Create named PIPEs, pipe_in and pipe_out by running:



$ mkfifo pipe_in
$ mkfifo pipe_out


2.Connect pipe_in to pipe_out:



TERM0: $ tail -f pipe_in > pipe_out


3.Send string hello world! to pipe_in and expect it to arrive at pipe_out:



TERM1: $ tail -f pipe_out
TERM2: $ echo "hello world!" > pipe_in


I can only see the string arriving at pipe_out if I kill command in 2..
It seems to be a buffering issue so I decided to run all commands above with stdbuf -i0 -e0 -o0 <command> but it didn't help...



Can anyone help with this please?







pipe fifo mkfifo






share|improve this question







New contributor




fmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




fmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




fmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 2 hours ago









fmagnofmagno

61




61




New contributor




fmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





fmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






fmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 1





    Good point, @Jeff Schaller. I have just deleted that question. I find this one, here, more fundamental. As soon as I solve this one I will likely be able to solve the other one too.

    – fmagno
    2 hours ago
















  • 1





    Good point, @Jeff Schaller. I have just deleted that question. I find this one, here, more fundamental. As soon as I solve this one I will likely be able to solve the other one too.

    – fmagno
    2 hours ago










1




1





Good point, @Jeff Schaller. I have just deleted that question. I find this one, here, more fundamental. As soon as I solve this one I will likely be able to solve the other one too.

– fmagno
2 hours ago







Good point, @Jeff Schaller. I have just deleted that question. I find this one, here, more fundamental. As soon as I solve this one I will likely be able to solve the other one too.

– fmagno
2 hours ago












2 Answers
2






active

oldest

votes


















2














tail only outputs the last n lines of a file/stream. While you are still generating lines, it can not know which are the last n.



Have you tried something like cat?






share|improve this answer
























  • It is interesting though that the tail from one pipe to the other works as expected :)

    – gmagno
    21 mins ago





















0














Please refer to @ctrl-alt-delor's answer for the reason why it doesn't work. But you can still achieve the same purpose with cat:



enter image description here






share|improve this answer










New contributor




gmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















    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
    });


    }
    });






    fmagno is a new contributor. Be nice, and check out our Code of Conduct.










    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f505674%2ftwo-named-pipes-pipe-in-pipe-out-connected-with-tail-f-string-sent-to-pip%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









    2














    tail only outputs the last n lines of a file/stream. While you are still generating lines, it can not know which are the last n.



    Have you tried something like cat?






    share|improve this answer
























    • It is interesting though that the tail from one pipe to the other works as expected :)

      – gmagno
      21 mins ago


















    2














    tail only outputs the last n lines of a file/stream. While you are still generating lines, it can not know which are the last n.



    Have you tried something like cat?






    share|improve this answer
























    • It is interesting though that the tail from one pipe to the other works as expected :)

      – gmagno
      21 mins ago
















    2












    2








    2







    tail only outputs the last n lines of a file/stream. While you are still generating lines, it can not know which are the last n.



    Have you tried something like cat?






    share|improve this answer













    tail only outputs the last n lines of a file/stream. While you are still generating lines, it can not know which are the last n.



    Have you tried something like cat?







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered 2 hours ago









    ctrl-alt-delorctrl-alt-delor

    11.9k42260




    11.9k42260













    • It is interesting though that the tail from one pipe to the other works as expected :)

      – gmagno
      21 mins ago





















    • It is interesting though that the tail from one pipe to the other works as expected :)

      – gmagno
      21 mins ago



















    It is interesting though that the tail from one pipe to the other works as expected :)

    – gmagno
    21 mins ago







    It is interesting though that the tail from one pipe to the other works as expected :)

    – gmagno
    21 mins ago















    0














    Please refer to @ctrl-alt-delor's answer for the reason why it doesn't work. But you can still achieve the same purpose with cat:



    enter image description here






    share|improve this answer










    New contributor




    gmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.

























      0














      Please refer to @ctrl-alt-delor's answer for the reason why it doesn't work. But you can still achieve the same purpose with cat:



      enter image description here






      share|improve this answer










      New contributor




      gmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.























        0












        0








        0







        Please refer to @ctrl-alt-delor's answer for the reason why it doesn't work. But you can still achieve the same purpose with cat:



        enter image description here






        share|improve this answer










        New contributor




        gmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.










        Please refer to @ctrl-alt-delor's answer for the reason why it doesn't work. But you can still achieve the same purpose with cat:



        enter image description here







        share|improve this answer










        New contributor




        gmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.









        share|improve this answer



        share|improve this answer








        edited 32 mins ago





















        New contributor




        gmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.









        answered 40 mins ago









        gmagnogmagno

        1013




        1013




        New contributor




        gmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.





        New contributor





        gmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.






        gmagno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
        Check out our Code of Conduct.






















            fmagno is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            fmagno is a new contributor. Be nice, and check out our Code of Conduct.













            fmagno is a new contributor. Be nice, and check out our Code of Conduct.












            fmagno is a new contributor. Be nice, and check out our Code of Conduct.
















            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%2f505674%2ftwo-named-pipes-pipe-in-pipe-out-connected-with-tail-f-string-sent-to-pip%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

            Histoire des bourses de valeurs

            Why is there Russian traffic in my log files?

            Rename multiple files to decrement number in file name?