macos – 如何在OSX上使用`open`命令获取应用程序的进程ID(PID)?

我已经通过OSX命令行上的open命令启动了一个应用程序,如下所示:

open -a "/Applications/Adobe After Effects CC/Adobe After Effects CC.app"

我想获取该已启动应用程序的进程ID.有没有办法在OSX上可靠地做到这一点?它似乎没有打开返回任何东西,所以我不确定我甚至可以将其结果传输到ps之类的东西来执行grep操作.我想也许,因为应用程序是通过终端启动的,我会知道哪个应用程序是最前面的,但我怀疑该解决方案的可靠性.有任何想法吗?

最佳答案
执行open -a后,可以执行ps命令.在ps命令的输出上执行grep会提供有关进程ID的信息.

ps aux | grep -v grep |grep -i <application name> | awk '{print $2;}'

下面给出的给出了该过程所用的时间.

ps aux -o etime,command | grep -v grep |grep -i <application name> | awk '{print $2, $12,$13}'

我们可以比较经过的时间来了解最近推出的pid的pid.

转载注明原文:macos – 如何在OSX上使用`open`命令获取应用程序的进程ID(PID)? - 代码日志