1

I have a server for Euro Truck Simulator 2 which is called by the following command:

LD_LIBRARY_PATH='$ORIGIN/../../linux64' eurotrucks2_server 

When the server is running, sometimes I get these lines in console (and I'd like to hide them):

src/steamnetworkingsockets/clientlib/steamnetworkingsockets_sdr_common.h (564) : m_pServer->m_nReplyTimeoutsSinceLastRecv == 0 

But whenever I append a | grep -v "Timeout" or | grep -v "steamnetworkingsockets", the server output is truncated at precisely this line:

Setting breakpad minidump AppID = 227300 

I also tried the --line-buffered option for grep without luck and also removing grep and using | tail -f has the same result..

Here's the whole output: https://paste.debian.net/hidden/290d8573/

Thanks

1 Answer 1

0

The | only catches the standard output (stdout) stream; these messages are going to the standard error (stderr) stream. Using grep to hide the stderr messages is a XY problem.

Solution to the Y problem

To grep both at the same time you need to forward stderr stream to stdout with 2>&1, e.g.,

eurotrucks2_server 2>&1 | grep -v "Timeout" 

Solutions to the X problem

  • Discard stderr output with 2>/dev/null, e.g.,

    eurotrucks2_server 2>/dev/null 
  • Forward (append) stderr output to a log file with 2>>/path/to/error.log, e.g.,

    eurotrucks2_server 2>>/var/log/eurotrucks2_server_error.log 
3
  • I'm sorry but it still stops at the same point. Commented Dec 20, 2022 at 18:11
  • this seems to work: 2> >(grep -v "Timeout"). Still waiting a bit to see if something (which shouldn't) shows up. Commented Dec 20, 2022 at 19:02
  • yeah, not working still, I see all of the content which should be hidden. Commented Dec 21, 2022 at 12:45

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.