有没有办法获得“ps a”和“ps x”的并集?

有没有办法获得“ps a”和“ps x”的并集?

我想要 所返回的进程ps a和 所返回的进程的并集ps x。使用 Docker 和 nohup 时,感觉其中一个有效,但都不总是显示我想要的进程。

ps ax列表全部流程。ps产生那些同时具有非a x过滤器。我想要一套非a 或者x过滤器(去除重叠)

换句话说,我想列出所有属于我的或具有 tty 的进程。

答案1

两者都做,然后使用 unique 选项排序:

(ps a; ps x) | sort -ur

然后我过滤掉了一些噪音。这可能会删除您正在查找的 bash、sort 等命令:

(ps a; ps x) | sort -ur | grep -v "bash$\|sort$\|ps \|sshd:"

答案2

我想我明白你的意思,对此我想出了以下几点:

ps -eo user,pid,tty,pcpu,pmem,etime,args | grep -E "${USER}|\ pts|\ tty"

现在,它远非完美,但我喜欢 -eo 输出过滤,因为您可以自定义列。如果您正在跟踪一组进程,甚至可能建议在其中添加“ppid”。

相关内容