繁体   English   中英

如何在OS X中获取当前前台应用程序的名称或PID?

[英]How to get current foreground application's name or PID in OS X?

我需要在OS X中获取当前前台应用程序的名称或PID吗? 如何使用终端获取它?

您可以使用'lsappinfo'命令从终端找到此信息。 手册页有很多关于此工具可以返回的大量信息的详细信息。

为了获得最前面的应用程序,您可以使用front参数调用lsappinfo。

$ lsappinfo front
ASN:0x0-0x10010:

这将返回启动服务用于标识进程的唯一应用程序说明符(ASN)。 您可以将其反馈到lsappinfo以获取有关该过程的更多详细信息。

$ lsappinfo info `lsappinfo front`
"Terminal" ASN:0x0-0x10010: (in front) 
    bundleID="com.apple.Terminal"
    bundle path="/Applications/Utilities/Terminal.app"
    executable path="/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal"
    pid = 652 type="Foreground" flavor=3 Version="326" fileType="APPL" creator="????" Arch=x86_64 
    parentASN="loginwindow" ASN:0x0-0x1001: 
    launch time =  2014/06/25 15:13:00 ( 8 days, 39 minutes, 25.0882 seconds ago )
    checkin time = 2014/06/25 15:13:00 ( 8 days, 39 minutes, 24.6907 seconds ago )
    launch to checkin time: 0.397498 seconds

info标志只使用-only标志来返回某些字段。 使用它,您可以查询PID,应用程序名称,应用程序包的路径等。

$ lsappinfo info -only pid `lsappinfo front` 
"pid"=652

$ lsappinfo info -only name `lsappinfo front` 
"LSDisplayName"="Terminal"

$ lsappinfo info -only bundlepath `lsappinfo front` 
"LSBundlePath"="/Applications/Utilities/Terminal.app"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM