Neustart nicht möglich, da OS X eine App für offen hält

7

Ich habe mit Xcode gearbeitet und das Programm reagiert nicht mehr. Daher habe ich das Beenden erzwungen, den Fehler gemeldet und versucht, die App erneut zu öffnen. Beim erneuten Öffnen hing das Dock ebenfalls und ich musste das Dock mit neu starten killall -KILL Dock. Leider glaubt OS X jetzt, dass Xcode läuft, hängt aber. Durch langes Drücken des Symbols im Dock oder Aufrufen des Force Quit-Bildschirms wird die App deutlich angezeigt. Wenn Sie jedoch "Force Quit" (Beenden erzwingen) auswählen, wird die App nicht angezeigt ps -e.

Screenshot showing Xcode open but no result from <code>ps</code>.

Kann ich mit OS X feststellen, dass die App nicht ausgeführt wird, um sie zu öffnen oder das Betriebssystem sicher neu zu starten?

Brian Nickel
quelle

Antworten:

5

Dieser Fehler tritt gelegentlich bei mir auf. Als sicherste Problemumgehung habe ich festgestellt, dass ich alle anderen offenen Apps beende und dann WindowServer beende (nicht erzwinge). Dadurch wird der aktuelle Benutzer abgemeldet, ohne dass Apps berücksichtigt werden, die diesen Vorgang unterbrechen möchten oder von denen das Betriebssystem glaubt, dass sie ausgeführt werden.

Laut einem Apple Support Communities-Thread wird dieses Problem vom Kernel verursacht:

Wenn "killall -KILL process_name" oder "kill -KILL process_pid_number" den Prozess nicht beenden, bleibt dieser Prozess im Kernel hängen, da ein Kill-Signal erst dann gesendet werden kann, wenn der Prozess vom Kernel-Space in den User-Space zurückkehrt.

Quelle: https://discussions.apple.com/message/26762830?tstart=0#26762830

… Aber ich bin nicht sicher, wie genau das ist. Bestimmte Apps scheinen dieses Verhalten häufiger zu zeigen als andere und ich muss noch einen Link finden, um die tatsächliche Ursache des Problems / Fehlers zu ermitteln.

grg
quelle
1
Ich bin hier auf ein Problem gestoßen, bei dem das Schlagen von Quit nichts bewirkt hat. Am Ende ging ich zum Terminal nach kill der Prozess und fand ich war immer "Operation nicht erlaubt" Fehler und musste tun sudo kill stattdessen. Am Ende habe ich getötet loginwindow stattdessen hat das auch geklappt.
Brian Nickel
1
Danke, ich konnte danach neu starten sudo killall -KILL WindowServer
lucrussell