我需要在 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"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)