Frage

Sagen wir, ich 15 Prozesse / Laufen Daemons im Hintergrund. sagen wir, eines der Verfahren, die den Kern hat abgeladen.

Wie könnte ich feststellen, welches Verfahren den Kern abgeladen hat.

Ich bin mit hpux!

War es hilfreich?

Lösung

1) Wenn Prozesse den gleichen Namen haben, dann denke ich, sie aus verschiedenen Ordnern zu laufen haben. Wenn ein Verfahren zur Herstellung eines Core-Dumps werden Sie es in ihrem Ordner erhalten. Ich weiß nicht, wie Sie sie starten. Wenn Sie & verwenden, um einen Prozess zu starten, dann können Sie $! verwenden PID des zuletzt gestarteten Daemon-Prozess zu bekommen und so speichern Sie die PID des Prozesses in den entsprechenden Ordner. Oder Sie können in diesem Ordner auf das Protokoll Ihrer Daemon einen Blick darauf werfen und erhalten PID des Prozesses in diesem Ordner von dort aus.

2) Wenn Sie verschiedene Anwendungen ausführen können Sie file ./core verwenden Sie den Namen der Anwendung zu erfahren.

Aktualisiert: 3) Habe gerade gelesen über diese:

Ausführen erste coreadm -p core.%p.%f.%t.%n oder setzen Sie diesen Befehl in Ihrem Profil. Und dann, wenn eine Anwendung coredumps werden Sie eine Core-Datei mit dem Namen core.<PID>.<Application-Name>.<Timestamp>.<Server> sehen. Zum Beispiel: core.29305.main.1278939422:531259.srv2-rx8

Andere Tipps

Es kann die pid als Teil des Dateinamens schreiben. Ich weiß nicht, was oder wie Sie beginnen Ihre 15 Prozesse, aber es ist üblich, die pid zu speichern. Daemons in der Regel ihre eigenen pid-Datei mit etwas schaffen, identifizieren die Instanz.

Es sollte in der Indexdatei während der Dump erzeugt werden. HP-UX 10.26 (wirklich alt) hielt die Deponien in:

 /var/adm/crash

Sie werden benötigt q4 oder ein ähnliches Werkzeug, um die Deponie zu untersuchen. So legen Sie das Muster als epronk vorgeschlagen, müssen Sie coreadm . Konsultieren Sie die Handbuchseiten:

  man coreadm
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top