Ich habe eine Anwendung unter OSX, die wiederholt in den Status "Nicht reagiert" wechselt und zwangsweise getötet werden muss. Ich hatte gehofft, es zu automatisieren, aber wenn ich den Prozess mit ps inspiziere, sehe ich nichts, was dem Status "Nicht antworten" entspricht. Ich sah auf die Zustandsanzeige, aber die App zeigt als S ob es reagiert oder nicht.
state Der Status wird durch eine Folge von Zeichen angegeben, z. B. "RWNA". Das erste Zeichen gibt den Ausführungsstatus des Prozesses an:
- I Markiert einen Prozess, der im Leerlauf ist (länger als etwa 20 Sekunden schlafen).
- R Markiert einen ausführbaren Prozess.
- S Markiert einen Prozess, der weniger als 20 Sekunden lang schläft.
- T Markiert einen gestoppten Prozess.
- U Markiert einen Prozess in ununterbrochener Wartezeit.
- Z Markiert einen toten Prozess (ein "Zombie").
Wie kann ich feststellen, ob der Prozess nicht wie der Aktivitätsmanager reagiert?
Ich bin auch offen für AppleScript-Lösungen.
Hier ist ein AppleScript mit UI-Skripten, das nach einem nicht reagierenden Prozess sucht und diese beendet.
Es funktioniert mit dem Aktivitätsmonitor von Mavericks. Da es sich jedoch um UI-Skripte handelt und die Benutzeroberfläche von Activity Monitor geändert wurde, funktioniert dies höchstwahrscheinlich nicht mit älteren OS X ohne geringfügige Änderungen.
quelle
tell radio button 1 of radio
. Ich habe das entfernt und einige andere Dinge optimiert (ich möchte nur ein bestimmtes Programm beenden) und erhalte den Laufzeitfehler: 'Fehler "Systemereignisse haben einen Fehler erhalten: Der Zugriff für Hilfsgeräte ist deaktiviert." Nummer -1719 aus Fenster 1 des Prozesses "Aktivitätsmonitor"tell radio button 1 of radio group 1 of group 2 of toolbar 1 of window 1 to click
(Dies als separate Antwort zu posten, da es zu lange dauert, um in einen Kommentar zu passen.)
Dank an @MatthieuRiegler für das Original-Skript.
Dies funktionierte am 10.12.6 und ist eine geringfügige Änderung des ursprünglichen Skripts (siehe @ CharlieGorichanaz 'Kommentar, nachdem ich meine eigenen Untersuchungen durchgeführt hatte):
** 1 In macOS 10.12.x enthält die Symbolleiste ein zusätzlichesSymbol, aufgrund dessen sich die Schaltflächen (CPU, Speicher, Energie usw.)
group 2 of toolbar 1
anstelle von befindengroup 1 of toolbar 1
. Ohne dieses Symbol (ich habe es in älteren MacOS-Versionen nicht bestätigt) glaube ich, dass die Schaltflächen für CPU usw. vorhanden sindgroup 1 of toolbar 1
** 2 Dies gilt, wenn Sie die PID-Spalte in der Aktivitätsspalte jemals an eine andere Position gezogen haben. Ich hatte die PID-Spalte an die Position ganz links gezogen, sodass ich in dieser Zeile den Index ändern musste in
1
:Die Spalten sind von ganz links beginnend bei 1 nummeriert. Passen Sie daher den hervorgehobenen Index in der obigen Zeile bei Bedarf entsprechend an.
quelle