我想要 所返回的进程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”。