Output redirection is not working with top piped to grepIn what order do piped commands run?Pipes & redirection binding precedence with disjuncts, conjuncts etc?Where does network waiting go in 'top'?append mode in Centos and UbuntuHow is the “load average” interpreted in “top” output? Is it the same for all distributions?Raspbian: problem with output redirection in udev scripttop command not workingWhy does total tasks listed in 'top' command output not equal running + sleeping?StdOut redirection not workingmulti-core CPU usage

I Accidentally Deleted a Stock Terminal Theme

Can I ask the recruiters in my resume to put the reason why I am rejected?

"You are your self first supporter", a more proper way to say it

Can the number of solutions to a system of PDEs be bounded using the characteristic variety?

meaning of に in 本当に?

How to format long polynomial?

Uncaught TypeError: 'set' on proxy: trap returned falsish for property Name

Two films in a tank, only one comes out with a development error – why?

What would happen to a modern skyscraper if it rains micro blackholes?

When a company launches a new product do they "come out" with a new product or do they "come up" with a new product?

Why is 150k or 200k jobs considered good when there's 300k+ births a month?

How can bays and straits be determined in a procedurally generated map?

Maximum likelihood parameters deviate from posterior distributions

What's that red-plus icon near a text?

Get value of a counter

Theorems that impeded progress

What is the word for reserving something for yourself before others do?

Could an aircraft fly or hover using only jets of compressed air?

expand `ifthenelse` immediately

What is a clear way to write a bar that has an extra beat?

Did Shadowfax go to Valinor?

Can a Cauchy sequence converge for one metric while not converging for another?

Is it inappropriate for a student to attend their mentor's dissertation defense?

Is it legal for company to use my work email to pretend I still work there?



Output redirection is not working with top piped to grep


In what order do piped commands run?Pipes & redirection binding precedence with disjuncts, conjuncts etc?Where does network waiting go in 'top'?append mode in Centos and UbuntuHow is the “load average” interpreted in “top” output? Is it the same for all distributions?Raspbian: problem with output redirection in udev scripttop command not workingWhy does total tasks listed in 'top' command output not equal running + sleeping?StdOut redirection not workingmulti-core CPU usage






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3















When I run this command in Linux:



$ top -b -d 20 | grep "load average" -A 20 > top.log


top.log is always empty.



But when I run this command:



$ top -b -d 20 | grep "load average" -A 20 | tee top.log


then top.log has contents.



If I don't want to use tee (because I don't want the output to be displayed onto the console), how do I correct the first command so that top.log is updated?



My machine uses CentOS Linux 7 (Core).










share|improve this question






















  • weird. In my Cento7 machine, both commands work well.

    – JinChin
    Mar 27 at 10:29






  • 1





    if you want only load average, why not use uptime ?

    – Archemar
    Mar 27 at 10:29











  • @Archemar What is the -A option of grep for?

    – Uncle Billy
    Mar 27 at 10:33












  • @Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

    – kurt
    Mar 27 at 10:36












  • @UncleBilly Ah, yes that is the catch ...

    – Archemar
    Mar 27 at 10:38

















3















When I run this command in Linux:



$ top -b -d 20 | grep "load average" -A 20 > top.log


top.log is always empty.



But when I run this command:



$ top -b -d 20 | grep "load average" -A 20 | tee top.log


then top.log has contents.



If I don't want to use tee (because I don't want the output to be displayed onto the console), how do I correct the first command so that top.log is updated?



My machine uses CentOS Linux 7 (Core).










share|improve this question






















  • weird. In my Cento7 machine, both commands work well.

    – JinChin
    Mar 27 at 10:29






  • 1





    if you want only load average, why not use uptime ?

    – Archemar
    Mar 27 at 10:29











  • @Archemar What is the -A option of grep for?

    – Uncle Billy
    Mar 27 at 10:33












  • @Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

    – kurt
    Mar 27 at 10:36












  • @UncleBilly Ah, yes that is the catch ...

    – Archemar
    Mar 27 at 10:38













3












3








3


1






When I run this command in Linux:



$ top -b -d 20 | grep "load average" -A 20 > top.log


top.log is always empty.



But when I run this command:



$ top -b -d 20 | grep "load average" -A 20 | tee top.log


then top.log has contents.



If I don't want to use tee (because I don't want the output to be displayed onto the console), how do I correct the first command so that top.log is updated?



My machine uses CentOS Linux 7 (Core).










share|improve this question














When I run this command in Linux:



$ top -b -d 20 | grep "load average" -A 20 > top.log


top.log is always empty.



But when I run this command:



$ top -b -d 20 | grep "load average" -A 20 | tee top.log


then top.log has contents.



If I don't want to use tee (because I don't want the output to be displayed onto the console), how do I correct the first command so that top.log is updated?



My machine uses CentOS Linux 7 (Core).







centos pipe io-redirection top






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 27 at 10:19









kurtkurt

1183




1183












  • weird. In my Cento7 machine, both commands work well.

    – JinChin
    Mar 27 at 10:29






  • 1





    if you want only load average, why not use uptime ?

    – Archemar
    Mar 27 at 10:29











  • @Archemar What is the -A option of grep for?

    – Uncle Billy
    Mar 27 at 10:33












  • @Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

    – kurt
    Mar 27 at 10:36












  • @UncleBilly Ah, yes that is the catch ...

    – Archemar
    Mar 27 at 10:38

















  • weird. In my Cento7 machine, both commands work well.

    – JinChin
    Mar 27 at 10:29






  • 1





    if you want only load average, why not use uptime ?

    – Archemar
    Mar 27 at 10:29











  • @Archemar What is the -A option of grep for?

    – Uncle Billy
    Mar 27 at 10:33












  • @Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

    – kurt
    Mar 27 at 10:36












  • @UncleBilly Ah, yes that is the catch ...

    – Archemar
    Mar 27 at 10:38
















weird. In my Cento7 machine, both commands work well.

– JinChin
Mar 27 at 10:29





weird. In my Cento7 machine, both commands work well.

– JinChin
Mar 27 at 10:29




1




1





if you want only load average, why not use uptime ?

– Archemar
Mar 27 at 10:29





if you want only load average, why not use uptime ?

– Archemar
Mar 27 at 10:29













@Archemar What is the -A option of grep for?

– Uncle Billy
Mar 27 at 10:33






@Archemar What is the -A option of grep for?

– Uncle Billy
Mar 27 at 10:33














@Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

– kurt
Mar 27 at 10:36






@Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned by top.

– kurt
Mar 27 at 10:36














@UncleBilly Ah, yes that is the catch ...

– Archemar
Mar 27 at 10:38





@UncleBilly Ah, yes that is the catch ...

– Archemar
Mar 27 at 10:38










2 Answers
2






active

oldest

votes


















3














You should use the --line-buffered option of grep (since your question is tagged "centos", you're most certainly using GNU grep).



By default, grep will only use line buffering when the output is a terminal (just like stdio functions: printf, puts, etc). The --line-buffered option is overriding that. GNU coreutils also has a stdbuf(1) wrapper that should work with any dynamically linked program which is using stdio.






share|improve this answer
































    -1














    You can use cat /proc/loadavg at intervals. Why pull it from top? It is intended for active monitoring (mostly), and will always use more resources than a fast read of loadavg. For the process listing, just use ps, and sort with the —sort flag. E.g.



    ( while true ; do cat /proc/loadavg ; ps -aux | sort -nrk 3,3 | head -n 20 ; sleep 3 ; done ; ) | pipe ...



    or



    ( while true ; do cat /proc/loadavg ; ps -Ao user,uid,pid,comm,pcpu,tty —sort=-pcpu —no-headers | head -n 20 ; sleep 3 ; done ; ) | pipe ...






    share|improve this answer

























      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%2f508935%2foutput-redirection-is-not-working-with-top-piped-to-grep%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









      3














      You should use the --line-buffered option of grep (since your question is tagged "centos", you're most certainly using GNU grep).



      By default, grep will only use line buffering when the output is a terminal (just like stdio functions: printf, puts, etc). The --line-buffered option is overriding that. GNU coreutils also has a stdbuf(1) wrapper that should work with any dynamically linked program which is using stdio.






      share|improve this answer





























        3














        You should use the --line-buffered option of grep (since your question is tagged "centos", you're most certainly using GNU grep).



        By default, grep will only use line buffering when the output is a terminal (just like stdio functions: printf, puts, etc). The --line-buffered option is overriding that. GNU coreutils also has a stdbuf(1) wrapper that should work with any dynamically linked program which is using stdio.






        share|improve this answer



























          3












          3








          3







          You should use the --line-buffered option of grep (since your question is tagged "centos", you're most certainly using GNU grep).



          By default, grep will only use line buffering when the output is a terminal (just like stdio functions: printf, puts, etc). The --line-buffered option is overriding that. GNU coreutils also has a stdbuf(1) wrapper that should work with any dynamically linked program which is using stdio.






          share|improve this answer















          You should use the --line-buffered option of grep (since your question is tagged "centos", you're most certainly using GNU grep).



          By default, grep will only use line buffering when the output is a terminal (just like stdio functions: printf, puts, etc). The --line-buffered option is overriding that. GNU coreutils also has a stdbuf(1) wrapper that should work with any dynamically linked program which is using stdio.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Mar 27 at 10:32

























          answered Mar 27 at 10:26









          Uncle BillyUncle Billy

          9348




          9348























              -1














              You can use cat /proc/loadavg at intervals. Why pull it from top? It is intended for active monitoring (mostly), and will always use more resources than a fast read of loadavg. For the process listing, just use ps, and sort with the —sort flag. E.g.



              ( while true ; do cat /proc/loadavg ; ps -aux | sort -nrk 3,3 | head -n 20 ; sleep 3 ; done ; ) | pipe ...



              or



              ( while true ; do cat /proc/loadavg ; ps -Ao user,uid,pid,comm,pcpu,tty —sort=-pcpu —no-headers | head -n 20 ; sleep 3 ; done ; ) | pipe ...






              share|improve this answer





























                -1














                You can use cat /proc/loadavg at intervals. Why pull it from top? It is intended for active monitoring (mostly), and will always use more resources than a fast read of loadavg. For the process listing, just use ps, and sort with the —sort flag. E.g.



                ( while true ; do cat /proc/loadavg ; ps -aux | sort -nrk 3,3 | head -n 20 ; sleep 3 ; done ; ) | pipe ...



                or



                ( while true ; do cat /proc/loadavg ; ps -Ao user,uid,pid,comm,pcpu,tty —sort=-pcpu —no-headers | head -n 20 ; sleep 3 ; done ; ) | pipe ...






                share|improve this answer



























                  -1












                  -1








                  -1







                  You can use cat /proc/loadavg at intervals. Why pull it from top? It is intended for active monitoring (mostly), and will always use more resources than a fast read of loadavg. For the process listing, just use ps, and sort with the —sort flag. E.g.



                  ( while true ; do cat /proc/loadavg ; ps -aux | sort -nrk 3,3 | head -n 20 ; sleep 3 ; done ; ) | pipe ...



                  or



                  ( while true ; do cat /proc/loadavg ; ps -Ao user,uid,pid,comm,pcpu,tty —sort=-pcpu —no-headers | head -n 20 ; sleep 3 ; done ; ) | pipe ...






                  share|improve this answer















                  You can use cat /proc/loadavg at intervals. Why pull it from top? It is intended for active monitoring (mostly), and will always use more resources than a fast read of loadavg. For the process listing, just use ps, and sort with the —sort flag. E.g.



                  ( while true ; do cat /proc/loadavg ; ps -aux | sort -nrk 3,3 | head -n 20 ; sleep 3 ; done ; ) | pipe ...



                  or



                  ( while true ; do cat /proc/loadavg ; ps -Ao user,uid,pid,comm,pcpu,tty —sort=-pcpu —no-headers | head -n 20 ; sleep 3 ; done ; ) | pipe ...







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Mar 28 at 6:38

























                  answered Mar 28 at 3:08









                  user2497user2497

                  603137




                  603137



























                      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%2f508935%2foutput-redirection-is-not-working-with-top-piped-to-grep%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







                      -centos, io-redirection, pipe, top

                      Popular posts from this blog

                      Frič See also Navigation menuinternal link

                      Identify plant with long narrow paired leaves and reddish stems Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?What is this plant with long sharp leaves? Is it a weed?What is this 3ft high, stalky plant, with mid sized narrow leaves?What is this young shrub with opposite ovate, crenate leaves and reddish stems?What is this plant with large broad serrated leaves?Identify this upright branching weed with long leaves and reddish stemsPlease help me identify this bulbous plant with long, broad leaves and white flowersWhat is this small annual with narrow gray/green leaves and rust colored daisy-type flowers?What is this chilli plant?Does anyone know what type of chilli plant this is?Help identify this plant

                      fontconfig warning: “/etc/fonts/fonts.conf”, line 100: unknown “element blank” The 2019 Stack Overflow Developer Survey Results Are In“tar: unrecognized option --warning” during 'apt-get install'How to fix Fontconfig errorHow do I figure out which font file is chosen for a system generic font alias?Why are some apt-get-installed fonts being ignored by fc-list, xfontsel, etc?Reload settings in /etc/fonts/conf.dTaking 30 seconds longer to boot after upgrade from jessie to stretchHow to match multiple font names with a single <match> element?Adding a custom font to fontconfigRemoving fonts from fontconfig <match> resultsBroken fonts after upgrading Firefox ESR to latest Firefox