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;
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
add a comment |
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
weird. In my Cento7 machine, both commands work well.
– JinChin
Mar 27 at 10:29
1
if you want only load average, why not useuptime
?
– Archemar
Mar 27 at 10:29
@Archemar What is the-A
option ofgrep
for?
– Uncle Billy
Mar 27 at 10:33
@Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned bytop
.
– kurt
Mar 27 at 10:36
@UncleBilly Ah, yes that is the catch ...
– Archemar
Mar 27 at 10:38
add a comment |
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
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
centos pipe io-redirection top
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 useuptime
?
– Archemar
Mar 27 at 10:29
@Archemar What is the-A
option ofgrep
for?
– Uncle Billy
Mar 27 at 10:33
@Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned bytop
.
– kurt
Mar 27 at 10:36
@UncleBilly Ah, yes that is the catch ...
– Archemar
Mar 27 at 10:38
add a comment |
weird. In my Cento7 machine, both commands work well.
– JinChin
Mar 27 at 10:29
1
if you want only load average, why not useuptime
?
– Archemar
Mar 27 at 10:29
@Archemar What is the-A
option ofgrep
for?
– Uncle Billy
Mar 27 at 10:33
@Archemar @UncleBilly, i'm using a trick for limiting the amount of entries returned bytop
.
– 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
add a comment |
2 Answers
2
active
oldest
votes
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.
add a comment |
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 ...
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
edited Mar 27 at 10:32
answered Mar 27 at 10:26
Uncle BillyUncle Billy
9348
9348
add a comment |
add a comment |
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 ...
add a comment |
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 ...
add a comment |
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 ...
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 ...
edited Mar 28 at 6:38
answered Mar 28 at 3:08
user2497user2497
603137
603137
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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 ofgrep
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