如何只使用应用名称获取PID

时间:2014-08-26 18:49:20

标签: bash

当我在计算机上运行ps aux时,我会得到这样的输出

myname   234   0.0  0.9   828060  76584   ??  S     9:10am   0:27.01 /RandomApp.app

如果我将输出传递给grep,我可以查找特定应用程序的名称

ps aux | grep "/RandomApp.app/" 

无论如何都要获得PID结果的grep(第二列中的值)。

3 个答案:

答案 0 :(得分:2)

ps aux | awk '/RandomApp.app/ {print $2}'

答案 1 :(得分:2)

使用GNU grep:

ps ax -o pid,comm | grep "/RandomApp.app" | grep -o '^[^ ]*'

或者查看pgrep

pgrep bash

输出(例如):

3006
3440
10714
16524
16603
16863
18921
23945

答案 2 :(得分:0)

您可以使用match运算符。如果RandomApp.app位于第11列,则此代码将打印第二列。

$11 ~ /RandomApp.app/ { print $2 }

将上述内容放在文件aboveawkfile.awk中,并使用-f运算符运行。所以

ps aux | awk -f aboveawkfile.awk