我正在使用Apple Script按名称查找进程PID,例如......
set appName to "KKK"
tell application "System Events"
set processPID to (unix id of processes whose name is appName)
end tell
使用这个脚本,我可以知道名称为" KKK"的所有进程的PID。
但我在这里有一个问题。
例如,有三个" KKK"过程," / FolderA / KKK"," FolderB / KKK"," FolderC / KKK"
我想杀死" / FolderA / KKK"的过程,所以我需要知道属于哪个PID" / FolderA / KKK"。
运行我的脚本之后,我可以获得三个PID,我可以在Apple Script中实际做些什么来区分哪个PID是我想要的? (也许是通过PID获取进程路径?)
谢谢
答案 0 :(得分:0)
这是检查name
的示例,而不是path
检查应用程序的Messages.app
。
set appPath to "/Applications/Messages.app"
tell application "System Events"
set processPID to (unix id of 1st process whose POSIX path of application file is appPath)
end tell
答案 1 :(得分:0)
也可以使用以下方法完成:
do shell script "kill -9 $(ps -x | awk '/[F]olderA\\/KKK/{print $1}')"
如果应用程序未运行且无需检查或陷阱,您还可以在末尾添加; exit 0
以获取错误:
do shell script "kill -9 $(ps -x | awk '/[F]olderA\\/KKK/{print $1}'); exit 0"