Der Vorgang ist unmittelbar nach dem Öffnen des Terminals abgeschlossen


12

Nachdem ich Terminal in OS X geöffnet habe:

Last login: Tue Oct 28 10:29:21 on ttys000 login(14773,0x7fff7572f300) malloc: * error for
object 0x7fd4bb715110: pointer being freed was not allocated * set a breakpoint in
malloc_error_break to debug

[Process completed]

Ich habe keine Ahnung, was ich getan habe oder wie ich es beheben kann.


Ich würde wetten, dass etwas in Ihrem .profile oder .bashrc nicht stimmt, was diesen Fehler verursacht, und dass die Shell nicht starten kann.
Matthieu Riegler

.bashrc <- was ist das? Ich kann es nicht googeln lol ... Ich bin neu bei Mac;] Ich habe nicht einmal / etc Ordner
user98034

OS X bezieht ~ / .bashrc ohnehin nicht von selbst. Überprüfen Sie daher ~ / .profile und andere solche Dateien, um festzustellen, ob sie ~ / .bashrc —cc @Matthieu
grg beziehen.

und ~ / .bash_profile
user151019

Antworten:


8

Gehen Sie zu Einstellungen → Allgemein, setzen Sie Shells mit Befehl auf und geben Sie Folgendes ein:

/bin/bash -x

Öffnen Sie eine neue Shell und sehen Sie, was ausgeführt wird. Entfernen Sie dann die relevanten Zeilen aus Ihren Profildateien.


immer noch die gleichen. In den Einstellungen (allgemein vom Dock) kann ich "allgemein", "CD starten" und "bemerken" nicht einschalten;] Ich denke, etwas ist kaputt. OSX Yosmite
user98034

Ich kenne. Aber ich kann diese Registerkarten jetzt nicht in den allgemeinen Einstellungen öffnen, sodass möglicherweise mehr Dinge kaputt gehen.
user98034

@user Ah, ich verstehe was du meinst. Ja, das würde darauf hinweisen, dass etwas anderes nicht stimmt - vielleicht OS X neu installieren?
grg

Gibt es eine einfache Möglichkeit, dies zu tun? Ich habe Mac Mini
User98034

@ user98034 Vielleicht geht jeder von Wissen aus, das Sie nicht haben. Dateien mit Namen, die mit einem Punkt beginnen, wie z. B. .profile usw., sind im Allgemeinen unsichtbar. Sie können die Namen der Dateien in Terminal.app auflisten, indem Sie "ls -a" eingeben. Sie können sehen, was sich in einer Datei wie .profile befindet, indem Sie "cat .profile" eingeben. Sie können dann ein anderes Fenster (Shell) in Terminal.app öffnen. Sie können die Befehle einzeln eingeben oder von einem Fenster in ein anderes kopieren und einfügen. Wenn Sie in das neue Fenster schauen, können Sie die Wirkung jedes Befehls einzeln sehen.
David Epstein

4
  1. Gehen Sie zum Terminal-Symbol im Dock, klicken Sie mit der rechten Maustaste und drücken Sie New Command 2./bin/bash -x (es zeigt Ihr Problem an).
  2. sudo nano .bash_profile (öffne diesen Problemort)
  3. Löschen Sie dies, Strg + X (Beenden) Ja, Enter

1
Ihre Antwort scheint nichts anderes hinzuzufügen als die Antwort von grgarside.
John N

Es funktioniert: Ich kann den Befehl nicht in den von grg vorgeschlagenen Pfad eingeben. Die Antwort von JustGo gab mir die Möglichkeit, Shell-Befehle auszuführen, um das Problem zu beheben. Ich konnte nicht einmal die Punktedateien in einem Texteditor öffnen: Apple "hilfreich" macht sie nicht im Finder verfügbar. Also , wenn Ihre Shell so schnell wird beendet , wie Sie es öffnen , wie der Fall mit diesem Thema ist, das ist eine Art und Weise Ein-
F1Linux

1

Ich weiß, dass dies alt ist ... aber ich hatte das gleiche Problem und konnte keine Informationen finden, um dieses Problem zu beheben. Deshalb habe ich beschlossen, die Lösung auch hier zu teilen.

Hoffentlich hilft es jemand anderem. :) :)

Nach dem Upgrade eines Mac von OS X 10.6.8 (Snow Leopard) auf 10.11.4 (El Capitan) wurde keine Shell mehr im Terminal geöffnet. Es wird ein Terminalfenster geöffnet, in dem nur [Prozess abgeschlossen] auf dem Bildschirm angezeigt wird.

Das Konsolenprotokoll zeigte die Fehler:

login: in openpam_load_module(): no pam_serialnumber.so found
login: pam_start(): system error

Dieser Beitrag ( https://discussions.apple.com/message/11861278#11861278 ) hat mich in die richtige Richtung gelenkt.

Ich habe den Inhalt von /private/etc/pam.d/login.term auf dem betroffenen Mac und auf einem funktionierenden Mac überprüft.

Defektes Mac-Terminal /private/etc/pam.d/login.term

# login: auth account password session
auth       optional       pam_krb5.so
auth       optional       pam_mount.so
auth       sufficient     pam_serialnumber.so serverinstall legacy
auth       required       pam_opendirectory.so
account    required       pam_nologin.so
account    required       pam_opendirectory.so
password   required       pam_deny.so
session    required       pam_uwtmp.so
session    optional       pam_mount.so

Funktionierendes Mac-Terminal /private/etc/pam.d/login.term

# login: account session
account    required       pam_nologin.so
account    required       pam_opendirectory.so
session    required       pam_uwtmp.so

Ich habe den Inhalt des Mac mit dem defekten Terminal so bearbeitet, dass er mit dem funktionierenden Terminal übereinstimmt, und das Terminal hat sofort richtig funktioniert. 😃


0

Dies könnte so einfach sein wie einige borked Berechtigungen. Ich hatte einige Probleme beim Starten einer Shell, als ich einen Computer nach Yosemite migrierte, und eine Reparatur der Berechtigung hat das Problem behoben.

Versuchen Sie, die Funktion "Reparaturberechtigungen" auf Ihrer Startdiskette mit Disk Utility.app zu verwenden. Hoffentlich zeigt das Protokollfenster während der Ausführung eine Reihe von Dateien mit falschen Berechtigungen an. Wenn Sie mehr als eine oder zwei Dateien mit schlechten Berechtigungen haben, spülen Sie diese aus und wiederholen Sie den Vorgang, bis Sie ein sauberes Protokoll erhalten.

Hinweis: Gelegentlich gibt es einige Dateien, die das Reparaturdienstprogramm auslösen (Details können derzeit nicht abgerufen werden). Auf einem neuen Mac mini sollten Sie jedoch beim zweiten oder dritten Versuch einen sauberen Lauf erhalten.


0

Keine der anderen Lösungen hat bei mir funktioniert. Es scheint, dass mein Terminal den Prozess zum Ausspucken abgeschlossen hat, weil mir der Speicherplatz ausgegangen ist. Das Löschen von Dateien hat nicht geholfen. Ich musste meine lokalen Snapshots der Zeitmaschine löschen.


-1

Folgendes hat es für mich gelöst:

  1. Gehen Sie zu: Terminal> Einstellungen
  2. Scrollen Sie nach unten zu: Shell
  3. Ändern Sie /bin/bashzu:/bin/sh

-1
  1. Gehen Sie zum Terminal-Symbol im Dock, klicken Sie mit der rechten Maustaste und drücken Sie New Command
  2. /bin/bash -x und öffnen Sie das Terminal erneut (es zeigt Ihr Problem)
  3. Gehen Sie zu Einstellungen → Allgemein, setzen Sie Shells mit Befehl auf und geben Sie Folgendes ein: /bin/sh
  4. Schließen Sie das Fenster "Terminaleinstellungen"
  5. Öffnen Sie das Terminal erneut (es sollte funktionieren)
  6. vi /Users/<your_user>/.bash_profileEntfernen Sie die in Schritt 2 gefundenen Zeilen.
  7. Gehen Sie zu Einstellungen → Allgemein, setzen Sie Shells mit Befehl auf und geben Sie Folgendes ein: /bin/bash
  8. Öffnen Sie Terminal, es sollte jetzt funktionieren
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.