当我这样做时:
sudo strace -p PID 2>&1 | grep -v "recvmsg"
grep匹配它应该匹配的行,但是当我这样做时:
sudo strace -p PID|grep -v "recvmsg"
它仍显示所有通话。 那是为什么?
答案 0 :(得分:7)
这是因为strace将其所有输出写入stderr,而不是stdout。并且管道重定向stdout,而不是stderr。所以你需要在管道到grep之前将strader的stderr重定向到stdout。