Macos 在cygwin中仅获取ps命令的命令列

Macos 在cygwin中仅获取ps命令的命令列,macos,cygwin,Macos,Cygwin,在Cygwin中,我可以通过以下命令获取正在运行的进程列表: PID PPID PGID WINPID TTY UID STIME COMMAND 13160 1 13160 13160 ? 197609 13:42:18 /usr/bin/mintty S 15404 2852 15404 16776 pty2 197609 13:59:29 /us

在Cygwin中,我可以通过以下命令获取正在运行的进程列表:

      PID    PPID    PGID     WINPID   TTY         UID    STIME COMMAND
    13160       1   13160      13160  ?         197609 13:42:18 /usr/bin/mintty
S   15404    2852   15404      16776  pty2      197609 13:59:29 /usr/bin/vi
     2852   12912    2852      11244  pty2      197609 13:42:54 /usr/bin/bash
     9864       1    9864       9864  ?         197609 13:11:32 /usr/bin/mintty
S   10500    2852    1692       1452  pty2      197609 14:09:42 /usr/bin/less
S   17644    2852   17644      11880  pty2      197609 14:00:15 /usr/bin/vi
    12912       1   12912      12912  ?         197609 13:42:54 /usr/bin/mintty
     8432    2852    8432      12020  pty2      197609 14:10:05 /usr/bin/ps
    17092   13160   17092      14720  pty1      197609 13:42:18 /usr/bin/bash
ps -o command
但是,我只需要
命令
列,而不是像这样的所有列:

COMMAND
/usr/bin/mintty
/usr/bin/vi
/usr/bin/bash
/usr/bin/mintty
/usr/bin/less
/usr/bin/vi
/usr/bin/mintty
 /usr/bin/ps
/usr/bin/bash
在MAC中,我可以通过以下命令执行此操作:

      PID    PPID    PGID     WINPID   TTY         UID    STIME COMMAND
    13160       1   13160      13160  ?         197609 13:42:18 /usr/bin/mintty
S   15404    2852   15404      16776  pty2      197609 13:59:29 /usr/bin/vi
     2852   12912    2852      11244  pty2      197609 13:42:54 /usr/bin/bash
     9864       1    9864       9864  ?         197609 13:11:32 /usr/bin/mintty
S   10500    2852    1692       1452  pty2      197609 14:09:42 /usr/bin/less
S   17644    2852   17644      11880  pty2      197609 14:00:15 /usr/bin/vi
    12912       1   12912      12912  ?         197609 13:42:54 /usr/bin/mintty
     8432    2852    8432      12020  pty2      197609 14:10:05 /usr/bin/ps
    17092   13160   17092      14720  pty1      197609 13:42:18 /usr/bin/bash
ps -o command

同样的命令在windows中不适用于cygwin,因为ps for cygwin中没有
-o
选项。

您可以使用awk仅打印所选列

$ ps |awk '{ if (NF==8) {print $8} else {print $9}}'
COMMAND
/usr/bin/ps
/usr/bin/bash
/usr/bin/mintty
欲了解更多信息:

带有空格的路径将完全打破这一点,它们在windows上很流行。