
Der Befehl „ps“ gibt den aktuellen Status der Prozesse an. Gibt es eine Möglichkeit, den Status eines bestimmten Prozesses in der Vergangenheit zu ermitteln: Angenommen, ich möchte den Status eines bestimmten Prozesses in den letzten 48 Stunden wissen?
Bei mir stürzt eine Einheit ab, und ich wollte den Status der verschiedenen Prozesse zum genauen Zeitpunkt des Absturzes wissen.
Antwort1
Nein, Befehle wie ps
und top
zeigen nur den aktuellen Status von Prozessen an. Es gibt keine Möglichkeit, den Status eines Prozesses in der Vergangenheit zu erfahren, es sei denn, Sie haben bereits ein Überwachungssystem eingerichtet.
atop
Für die Zukunft können Sie die Protokollierung des Prozessstatus einrichten . Aus der Manpage:
Um Statistiken auf System- und Prozessebene für Langzeitanalysen zu speichern (z. B. um die Systemlast und die aktiven Prozesse zu überprüfen, die gestern zwischen 15:00 und 16:00 Uhr liefen), kann atop die Statistiken auf System- und Prozessebene im komprimierten Binärformat in einer Rohdatei mit dem Flag -w gefolgt vom Dateinamen speichern. Wenn diese Datei bereits existiert und als Rohdatendatei erkannt wird, hängt atop neue Beispiele an die Datei an (beginnend mit einem Beispiel, das die Aktivität seit dem Start widerspiegelt); wenn die Datei nicht existiert, wird sie erstellt.
Standardmäßig werden nur Prozesse in der Rohdatei gespeichert, die während des Intervalls aktiv waren. Wenn das Flag -a angegeben ist, werden alle Prozesse gespeichert. Das Intervall (Standard: 10 Sekunden) und die Anzahl der Samples (Standard: unendlich) können als letzte Argumente übergeben werden. Anstelle der Anzahl der Samples kann das Flag -S verwendet werden, um anzugeben, dass atop auf jeden Fall vor Mitternacht fertig sein soll.
atop
Natürlich beginnt die Aufnahme, wie bereits gesagt, erst ab dem Moment, in dem Sie sie einrichten.