ps -ef 可以省略进程的特定所有者吗?

ps -ef 可以省略进程的特定所有者吗?

我正在学习如何编写 unix/linux 命令。有什么方法可以使用 ps -ef 查看进程,但让命令在 root 时忽略所有者?

答案1

通过procps-ng实施ps(通常在非嵌入式 Linux 系统上找到),您可以删除该-e选项并将其替换为-N -u rootps您显示以除 root 之外的任何用户身份运行的进程:

ps -f -N -u root

您可以打包-f -N在一起作为-Nf-fN来缩短命令行(类似于打包-e -f在一起的方式-ef

ps本质上,您将指示选择每个进程的选项 ( ) 替换为指示仅选择以 root 用户身份运行的进程 ( )-e的选项,并添加否定选项 ( ),因此选择除正在运行的进程之外的所有进程作为根。该选项可以获取用户列表,因此如果您想过滤掉根或守护进程,可以使用.ps-u root-Nps-ups -f -N -u root,daemon

手册ps页根据选项的功能(简单进程选择、按列表选择进程、输出格式控制等)对选项进行分组,因此该-N选项可用于否定/反转其他进程选择选项的操作。例如,ps -f -p 123将仅选择进程 id 123,但ps -f -N -p 123将显示不是进程 id 的所有进程123

相关内容