Prozess überwachen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
garfield!
Beiträge: 125
Registriert: 27.11.2003 14:15:30

Prozess überwachen

Beitrag von garfield! » 02.05.2005 10:42:46

Hallo jungs,

Ist es möglich ein Prozess zu überwachen, bzw. Manchmal wird bei mir ein Prozess abgeschossen ohne das ich was im Syslog sehe.

Was für Möglichkeiten habe ich diesen zu überwachen oder explizit zu protokollieren?

Gruss

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 02.05.2005 10:52:29

was verstehtst du unter prozess? - den es ist ja "alles" unter unix systemen ein prozess - d.h. ein prozess der eine applikation ist die es selber implementiert hat, dass sie an den syslogd oder klogd informationen übergibt macht das eigenständig - hier kannst du dann eben über ein config file eingreifen ... ein typisches beispiel dafür ist ein belibiger daemon

der zweite fall - d.h. du hast einen prozess der keine möglichkeiten implementiert hat das er sein befinden mitteilt, da musst du dann selber hand anlegen - was bedeutet den prozess zu überprüfen und dann bei bedarf in die logfiles zu schreiben - dazu siehe

Code: Alles auswählen

man logger
aber wie erwähnt - wenn du etwas präziser wirst um was es sich dreht ist dir leichter geholfen ...

markus

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 02.05.2005 10:59:39

Hm, du kannst dir ein kleines Skript bauen, welches du als Cron-Job laufen laesst.
Im Skript schaust du halt, ob dein Prozess noch laeuft und kannst dann ggf. den Prozess neu starten, wenn er gestorben ist.
Wenn du mehr aus den Logs sehen willst, musst du - falls vorhanden - den Prozess eventuell mit Debugging-Optionen starten. Aber da ich nicht weiss, um was genau es sich da handelt, kann ich dir so nicht mehr sagen.

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 02.05.2005 11:07:19

nepos hat geschrieben:Hm, du kannst dir ein kleines Skript bauen, welches du als Cron-Job laufen laesst.
Im Skript schaust du halt, ob dein Prozess noch laeuft und kannst dann ggf. den Prozess neu starten, wenn er gestorben ist.
Wenn du mehr aus den Logs sehen willst, musst du - falls vorhanden - den Prozess eventuell mit Debugging-Optionen starten. Aber da ich nicht weiss, um was genau es sich da handelt, kann ich dir so nicht mehr sagen.
ja geht - aber da wäre es intelligenter den prozess in dem jeweiligen runlevel gleich in der /etc/intitab als respawn process zu starten den ein mit äquidistanten zeitschritten getriggerter prozess wie es im falle eines scriptes wäre braucht unnötig viel systemlast - den man müsste dann schon das intervall so klein machen das es Sinn macht d.h. =< 10 sec

aber grundsätzlich hast du recht nepos - ginge so - der olle Kater wird uns wohl genau sagen welche Sorgen ihn plagen :wink:
Zuletzt geändert von meandtheshell am 02.05.2005 11:10:53, insgesamt 1-mal geändert.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 02.05.2005 11:10:42

Stimmt, auf das mit der inittab bin ich nicht gekommen.
Bei uns gibts so nen Cron-Job fuer Tomcat, da der immer mal wieder aus unerfindlichen Gruenden stirbt.

garfield!
Beiträge: 125
Registriert: 27.11.2003 14:15:30

Beitrag von garfield! » 02.05.2005 11:21:52

danke für eure Anworten........

Es handelt sich um eine python Script welches 24h laufen sollte. Jedoch stirbt dieser "python" Prozess ohne eine Meldung an Syslog zu senden.

Aber werde mich mal bezüglich Debugging informieren.

THX

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 02.05.2005 11:43:59

@ garfield
mein vorschlag:

1)starte dein script (process) in der /etc/inittab mit dem keyword respawn d.h. der process wird neu gesartet wenn er aus irgendeinem grund beendet wird

2)dieses script ergänzt du in der art und weise, dass auf jeden fall bevor sich der process beendet bzw. beendet wird er eine log info schreibt

fazit:
die intelligenz der sache liegt nun nur mehr darin, wie du die loginfo "hinaus" schreibst bevor der process stirbt - zu punkt eins musst du nichts mehr überlegen bzw. zu der tatsache wie starte ich den prozess wieder neu wenn er beendet wird (evtl. notwendige startparameter für Initialisierungs geschichten deines script kannst du auch in der inittab übergeben )

Antworten