【问题标题】:How to always cut the PID from `ps aux` command?如何始终从“ps aux”命令中删除 PID?
【发布时间】:2017-09-01 22:53:03
【问题描述】:

我想从我的进程中获取 pid。我有ps aux | cut -d ' ' -f 2,但我注意到有时它会得到 pid,有时却没有:

[user@ip ~]$ ps aux 
user  2049  0.5 10.4 6059216 1623520 ?     Sl   date   8:48 process 
user 12290  0.3  6.9 5881568 1086244 ?     Sl   date  2:30 
[user@ip ~]$ ps aux | cut -d ' ' -f 2 

12290
[user@ip ~]$ ps aux |  cut -d ' ' -f 3
2049

请注意,第一个cut 命令将其通过管道传输到2,而第二个命令将其通过管道传输到3。如何在不知道要使用哪个号码(23)的情况下从中挑选出 PID?

谁能告诉我这些之间的区别以及为什么它选择一个而不是另一个?

【问题讨论】:

    标签: grep cut ps


    【解决方案1】:

    -d ' ' 表示使用单个空格作为分隔符。由于 2049 之前有 1 个空格,12290 之前有 2 个空格,因此您的命令通过 -f 2-f 3 获取它们。

    我建议使用 ps aux | awk '{print $2}' 来获取这些 pid。

    或者您可以先使用tr 压缩这些空间 ps aux | tr -s ' ' | cut -d ' ' -f 2

    【讨论】:

      【解决方案2】:

      您总是可以使用 pgrep 来获取进程的 PID

      例如带有 PS AUX 的 PID

      wix@wsys:~$ ps aux | grep sshd
      root      1101  0.0  0.0  72304  3188 ?        Ss   Oct14   0:00 /usr/sbin/sshd -D
      root      6372  0.0  0.1 105692  7064 ?        Ss   06:01   0:00 sshd: wix [priv]
      wix       6481  0.0  0.1 107988  5748 ?        S    06:01   0:00 sshd: wix@pts/1
      root      6497  0.0  0.1 105692  7092 ?        Ss   06:01   0:00 sshd: wix [priv]
      wix       6580  0.0  0.1 107988  5484 ?        S    06:01   0:00 sshd: wix@pts/2
      wix       6726  0.0  0.0  13136  1044 pts/1    S+   06:12   0:00 grep --color=auto sshd
      

      现在只需 pgrep 即可获取 PID

      wix@wsys:~$ pgrep sshd
      1101
      6372
      6481
      6497
      6580
      wix@wsys:~$ 
      

      【讨论】:

      • 这与 OP 的问题有什么关系?
      • 我认为目标是获取 PID,所以为什么不使用手头的工具而不是使用复杂的命令链。
      • 他没有具体说明他的最终意图是什么,但是由于收集所有进程的 PID 似乎毫无意义,我想你可能是对的。
      • 即使你想要所有进程你也可以做 pgrep ""
      • /sbin/lvmetad -f pgrep 不会显示 PID 的方法
      【解决方案3】:

      您可以使用选项 -o 仅打印 pid:

      ps -u user -o pid
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-10-21
        • 2013-07-29
        • 2013-02-12
        • 2019-08-20
        • 1970-01-01
        • 1970-01-01
        • 2018-10-25
        相关资源
        最近更新 更多