使用 -U 处理命令

使用 -U 处理命令
ps -f -U

我无法理解该命令的功能。我得到上述命令的输出,但无法理解它。

答案1

ps选项-U应该包含您想要查看其进程的用户列表(或更准确地说,是运行进程的用户名)。目的显然是通过用户名进行过滤。

像这样的东西:

$ ps -f -U syslog,avahi                                                                                                                                                                                                                     
UID        PID  PPID  C STIME TTY          TIME CMD
syslog     522     1  0 10月22 ?      00:00:00 /usr/sbin/rsyslogd -n
avahi      594     1  0 10月22 ?      00:00:00 avahi-daemon: running [eagle.local]
avahi      622   594  0 10月22 ?      00:00:00 avahi-daemon: chroot helper

psFreeBSD 和 coreutils 中都存在该选项POSIX标准,所以我猜这是一个相当便携的选项。

至于-fcoreutils 手册ps指出:

   -f     Do full-format listing. This option can be combined with many other UNIX-style options to add additional columns.  It also causes the command arguments to be printed.  When used with -L, the NLWP (number of threads)
          and LWP (thread ID) columns will be added.  See the c option, the format keyword args, and the format keyword comm.

尽管自由BSD手册指出:

 -f      Show command-line and environment information about swapped out
     processes.  This option is honored only if the UID of the user is
     0.

因此,目的是在任一情况下获得输出的完整格式,但请注意描述非常不同。另请注意,FreeBSD 选项应该不包括换出的进程。这个不太便携,因为它丢失了OpenBSD 手册

相关内容