(Đăng bài này dưới dạng câu trả lời riêng vì quá dài để phù hợp với nhận xét)
Tín dụng cho @MatthieuRiegler cho kịch bản gốc.
Điều này hoạt động vào ngày 10.12.6 và là một sửa đổi nhỏ của kịch bản gốc (đã thấy nhận xét của @ CharlieGorichanaz sau khi tôi thực hiện cuộc điều tra của riêng mình):
set textToSearchForInProcessName to "Not Responding"
-- Run Activity Monitor
tell application "Activity Monitor" to activate
tell application "System Events" to tell process "Activity Monitor"
-- Wait for the Activity Monitor window to open
repeat until (exists window 1)
delay 1
end repeat
--display notification "Window appeared"
-- Wait for the Menubar to be present
repeat until (exists menu 1 of menu bar item "View" of menu bar 1)
delay 1
end repeat
--display notification "Menubar appeared"
-- Make sure View -> My Processes is selected
click menu item "My Processes" of menu 1 of menu bar item "View" of menu bar 1
-- Click the 'CPU View' button ( **1 )
click radio button 1 of radio group 1 ¬
of group 2 of toolbar 1 ¬
of window 1
-- Working with the list of processes
tell outline 1 of scroll area 1 of window 1
-- Looking for Not responding process
set notResponding to rows whose value of ¬
first static text contains textToSearchForInProcessName
repeat with aProcess in notResponding
-- For each non responding process retrieve the PID
set pid to value of text field 1 of aProcess -- ( **2 )
-- Kill that process using pid
if pid is not "" then do shell script ("kill -9 " & pid)
end repeat
end tell
end tell
** 1
Trong macOS 10.12.x, thanh công cụ chứa mộtbiểu tượngbổ sungdo tập hợp các nút (CPU, Bộ nhớ, Năng lượng, v.v.) group 2 of toolbar 1
thay thếgroup 1 of toolbar 1
. Không có biểu tượng đó (tôi chưa xác nhận trong các phiên bản macOS cũ hơn), tôi tin rằng các nút CPU vv sẽ ở tronggroup 1 of toolbar 1
** 2
Điều này áp dụng nếu bạn đã từng kéo cột PID trong cột Hoạt động sang một vị trí khác. Tôi đã kéo cột PID sang vị trí ngoài cùng bên trái để trên dòng này, tôi phải thay đổi chỉ mục thành1
:
set pid to value of text field 1 of aProcess
Các cột được đánh số từ ngoài cùng bên trái, bắt đầu từ 1. Vì vậy, điều chỉnh chỉ số được tô sáng trong dòng trên cho phù hợp nếu cần.