Werbung

Im Aktivitätsmonitor gibt es eine kryptische Menüoption für Signal an Prozess senden. Haben Sie sich jemals gefragt, was es war? Wenn Sie es auswählen, werden dunkle Begriffe wie angezeigt ZEICHEN und SEUFZEND, was die Dinge nicht genau aufklärt. Was genau sind diese Signale?

Diese Signale sind ein Ergebnis der Unix Foundation Mac OS X Yosemite aus der Sicht eines Linux-BenutzersMac OS X wird als Aushängeschild für eine saubere und elegante Benutzeroberfläche verwendet. Als Linux-Autor ist es meine Pflicht, Vergleiche zwischen Linux-Distributionen anzustellen, aber auch gegen die Konkurrenz. Weiterlesen im Herzen von macOS. Im Terminal sind einige dieser Signale integriert: wenn Sie drücken Strg + C. Um einen laufenden Befehl zu stoppen, senden Sie den Prozess ZEICHEN um den aktuell ausgeführten Befehl zu unterbrechen und zu stoppen. Sie waren eine der ersten Möglichkeiten, wie Apps miteinander kommunizieren konnten, und sind Teil der alten POSIX-Standards (Portable Operating System Interface).

instagram viewer

Es ist zwar schön, die Grundlagen der Funktionsweise Ihres Systems zu verstehen, aber Sie können diese Signale auch verwenden, um Informationen über sich schlecht verhaltende Apps zu erfassen.

Was ist POSIX?

POSIX ist der Grundstandard für Unix- und Unix-ähnliche Betriebssysteme. Zu diesen kompatiblen Systemen gehört macOS, das Unix-kompatibel ist. Im Kern ist Darwin, ein Unix-Kern mit Wurzeln, die auf NeXTSTEP zurückgehen. Das selbst war eine Gabelung von BSD, einer der ursprünglichen Unix-Varianten.

POSIX stellt sicher, dass alle diese Betriebssysteme Code auf die erwartete Weise verarbeiten, sodass Entwickler wissen, dass ihr Code wirklich portabel ist. Wenn sie eines dieser Signale auf einem anderen Computer an einen Prozess senden, haben die Daten, die sie zurückerhalten, ein Format, das sie vorhersehen und verarbeiten können. Dies ist eine grobe Vereinfachung von ungefähr 40 Jahren Computergeschichte, aber Sie bekommen die allgemeine Vorstellung.

Bei der Kommunikation mit den grundlegendsten Daemons, aus denen die Unix-Basis von macOS besteht, sind diese Signale die besten. Daemons sind die Hintergrundprozesse, die das Wesentliche Ihres Computers ausführen - oder gemeinsam Mac OS Sprache, Dienstleistungen. Das berüchtigte entdecken ist ein Beispiel. Dies war der OS X Yosemite 10.10 Ersatz für mDNSResponder, ein anderer Dienst Schuld an den Netzwerkproblemen in diesem Update.

Befehlszeile
Bildnachweis: Dominik Rusiecki über Freeimages

Abhängig von der Art und Weise, wie eine App Signale empfangen soll, können Sie ein Signal senden, um eine App zu beenden und einen sogenannten Core Dump zu erstellen. Core Dumps enthalten alle aktuellen Daten zu einem laufenden Programm. Diese sind für die Fehlerbehebung bei Apps wichtig, die ständig abstürzen. Auf dem Mac werden diese im Mach-O-Dateiformat ausgegeben, das Sie in der MacOS-Entwicklungsumgebung Xcode lesen können. Die meisten Benutzer werden wahrscheinlich nicht viel damit anfangen, aber wenn Sie von einem App-Problem frustriert sind, können sie hilfreich sein, um sie zur Unterstützung an einen Entwickler zu senden.

Hier zeigt ein weiteres Stück klassisches Computing seine Wurzeln. Das Mach-O-Dateiformat teilt seinen Namen mit dem Mach-Mikrokernel. Zusammen mit BSD ist dies Teil der Wurzeln von macOS, und die beiden sind Teil des grundlegenden Kernels XNU. Mach ist nicht so berühmt wie BSD, daher wird nicht viel Druck auf die Presse ausgeübt, sondern es ist Teil dessen, was das Betriebssystem von Apple von anderen Unix-Varianten unterscheidet.

Wie kann ich sie verwenden?

Wir waren alle schon einmal dort: Sie bekommen eine Aktualisieren Sie eine App oder laden Sie eine neue App herunter So installieren und entfernen Sie Mac-Software: 5 einfache MethodenAuf einen Mac umgestiegen und sich mit den Grundlagen vertraut gemacht? Sie fragen sich, wie Sie Software über die Befehlszeile installieren können? Haben Sie alte Windows-Apps, die Sie einfach auf Ihrem Apple-Computer ausführen müssen? Weiterlesen und es hängt jedes Mal, wenn Sie es öffnen. Du öffnest Beenden erzwingenKlicken Sie im Apple-Menü auf und sehen Sie, dass die Anwendung als angezeigt wird Reagiert nicht. Schlimmer noch, es ist ein Hintergrundprozess, der Ihr System nach unten zieht.

Aktivitätsmonitor

Öffnen Aktivitätsmonitor und klicken Sie auf den Prozess, der nicht reagiert. Dann geh zum Aussicht Menü und wählen Signal an Prozess senden. Ein Menü wird angezeigt, in dem Sie auswählen können, welches Signal an den Prozess gesendet werden soll. Wählen Sie Ihr Signal aus und drücken Sie Senden.

Wenn Sie das Terminal bevorzugen 4 coole Dinge, die Sie mit dem Mac-Terminal tun könnenDas Terminal ist das Mac OS X-Analogon der Windows-Eingabeaufforderung (CMD). Wie Sie wahrscheinlich bereits wissen, handelt es sich um ein Tool, mit dem Sie Ihren Computer im Gegensatz zu ... Weiterlesen verwenden Sie einen Befehl, mit dem Sie bereits vertraut sind. Das töten Befehl wird verwendet, um einen Prozess zu stoppen. Wenn Sie hinzufügen -s Sie können eine Nummer hinzufügen, um ein Signal an den Prozess zu senden, den Sie beenden. Hier ist eine Liste der allgemeinen Befehle in der Liste töten Manpage:

  • 1 - HUP (auflegen)
  • 2 - INT (Interrupt)
  • 3 - BEENDEN (beenden)
  • 6 - ABRT (Abbruch)
  • 9 - KILL (nicht fangbarer, nicht ignorierbarer Kill)
  • 15 - TERM (Software-Beendigungssignal)

Es gibt einige andere Signale, die Sie ebenfalls senden können. Diese sind nur die häufigsten. Es gibt eine umfassende Liste von Codes hier verfügbar.

Wann benutze ich sie?

Jetzt, da Sie wissen, was mit den POSIX-Signalen zu tun ist, können Sie sie verwenden, um Ihre blockierten Prozesse sauber zu stoppen. Um fair zu sein, werden Sie diese Codes nicht jeden Tag verwenden. Wenn Sie mit einem Entwickler an einem ungewöhnlichen App-Absturz arbeiten oder Ihrem Sysadmin-Betatest beim Testen der internen Apps Ihres Unternehmens helfen, können diese Codes dazu beitragen, die benötigten Informationen zu erhalten.

Wenn die App zum Erstellen dieser Speicherauszüge codiert ist, finden Sie sie im Verzeichnis /cores Dies ist ein einfaches Verzeichnis, in dem Sie nachsehen können, wenn Sie Daten für eine abstürzende oder blockierte Anwendung abrufen. Sie können hier überprüfen, welche Speicherauszüge sich im Verzeichnis befinden ls -a Befehl. Dies zeigt Ihnen alle Dateien in diesem Verzeichnis, die Sie dann mit dem Befehl in ein besser zugängliches Verzeichnis kopieren können mv Dateiname Ziel.

Im Terminal benutze die Befehl cd / cores um dann in das Verzeichnis zu wechseln ls -a um den Inhalt aufzulisten. Um eine Datei in Ihren Ordner "Dokumente" zu verschieben, verwenden Sie einfach mv Dateiname / Benutzer / Benutzername / Dokumente (Ersetzen Dateiname und Nutzername).

Mackeyboard
Bildnachweis: Erika Varga über Freeimages

Welche anderen wenig bekannten Funktionen gibt es, wenn Sie ein langjähriger Unix-Benutzer sind, der auf den Mac gewechselt ist? Wenn Sie ein Projekt auschecken möchten, das nur das verwendet Open Source Foundation von MacOS Schauen Sie sich PureDarwin an. Lassen Sie uns in den Kommentaren wissen, wie das geklappt hat. Wir würden auch gerne hören, wann POSIX-Signale ein hartnäckiges Problem mit Ihrem Mac gelöst haben.

Haben Sie zuvor POSIX-Signale zur Fehlerbehebung verwendet?

Bildnachweis: Dean Drobot / Shutterstock

Michael hat keinen Mac benutzt, als sie zum Scheitern verurteilt waren, aber er kann in Applescript codieren. Er hat Abschlüsse in Informatik und Englisch; Er schreibt schon seit einiger Zeit über Mac, iOS und Videospiele. und er ist seit über einem Jahrzehnt ein IT-Affe am Tag, der sich auf Skripte und Virtualisierung spezialisiert hat.