我需要获取当前 OS X 操作系统的前台应用程序名称或 PID?如何使用终端获取?
$ 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"
wmctrl
完成。 - Avinash Raj