I run a command like this:
$ valgrind ./my_program < 1.in
And I get Valgrind's messages about leaks and errors as well as the output stdout and stderr streams of the my_program.
I would like to redirect/mute all the streams of my_program (both stdout and stderr).
Running > /dev/null
doesn't mute the stderr stream of my_program.
Running > /dev/null 2> /dev/null
mutes all the output stream of my_program all together with Valgrind's messages.
According to this thread: How to redirect Valgrind's output to a file? Valgrind is capable of streaming its output directly to a log file using valgrind --log-file="filename"
.
I've came up with a solution like this
$ valgrind --log-file="filename" ./my_program < 1.in && cat filename
Is there an easier way to do this?
To separate valgrind and application output you can redirect valgrind output to another file descriptor:
valgrind --log-fd=9 9>>test.log ./app
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With