Speicherresistenter prozessmonitor

Hi all,

so nun muss ich mich auch mal hier in die perl ecke gesellen, wobei ich bemerken muss das ich da absoluter frischling bin, daher überwältigt mich auch schon dieses kleine problem:

also, auf einer unix-box (sco) werden sämtliche scripts über cron zeitlich gesteuert.Mitunter auch scripts für wichtige statistik-logs. Nun fällt leider aus irgendwelchen gründen regelmässig der cron prozess aus. wodurch die stats nich mehr generiert werden.

was ich nun machen will ist zunächst ein speicherresistentes KLEINES script laufen lassen das im grunde wie cron selber arbeitet um zu checken ob cron läuft oder nicht. sollte cron nich laufen solls initialisiert werden.

#!/usr/bin/perl
while true
{
check for cron process
if (!process running)
{
cron start
}
sleep (5 mins)
}

kann mir bei diesem kleinen prob jmd auf die sprünge helfen? oder vielleicht elegantere lösungen vorschlagen?

sollte das zufällig besser mit nem shellscript erledigt werden, entschuldige ich mich, das ich es im falschen brett gepostet habe. nichts desto trotz, vielen dank schon mal an alle.

gruß J.O.

Hallo,

Ein Shellskript reich aucht (ungetestet):

while true; do ps -el|grep cron \>/dev/null||/etc/init.d/cron start; sleep 300; done

Wobei das /etc/init.d/cron start fuer debian gilt, bei SCO weiss ich nicht, wie das geht. BTW mein Mitleid, dass mit SCO-Software arbeiten musst :smile:

Gruesse,
Mority

Hi Mority,

vielen dank für deine hilfe. das funzt so.

greets

Hi Mority (engl. Tastatureinstellung?),

bei mir liefert der ps-Befehl (z.Zt. unter AIX, dürfte aber unter anderen Systemen gleich sein) auch den grep-Prozess selbst mit, der zweite Teil des Kommandos (cron-Neustart) duerfte also niemals durchlaufen werden.

 \> ps -ef | grep cron
 root 10070 1 0 Aug 28 - 2:43 /usr/sbin/cron
 **zyd3101 77238 83890 2 15:56:14 pts/2 0:00 grep cron**

Man sollte also so suchen, daß der grep selbst nicht gefunden werden kann, also z.B. durch Ausmaskieren eines Zeichens als Charakterklasse

... | grep '[c]ron' 

gruss
bernhard

(ps: auch mir tut der arme SCO-Kerl leid)

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hi bernhard,

das problem das du beschreibst hatte ich auch erst und ich hab das dann mit ner option von grep gelöst. du kannst grep vom grep output excluden. mit -v und ner weiteren pipe.

sollte dann so aussehen:
ps -ef | grep -v grep | grep cron

funktioniert bei mir wunderbar.

greets

Hallo,

Hi Mority (engl. Tastatureinstellung?),

Ja.

bei mir liefert der ps-Befehl (z.Zt. unter AIX, dürfte aber
unter anderen Systemen gleich sein) auch den grep-Prozess
selbst mit, der zweite Teil des Kommandos (cron-Neustart)
duerfte also niemals durchlaufen werden.

bei ps -ef bei mir auch, bei -el nicht. Das war bewusst so gewählt :wink:
Aber ich vermute dass sich die GNU-Tools ein wenig anders als die SCO-*zensiert* verhalten.

Grüße,
Moritz (jetzt deutsche Tastatur)

(OT) LOL

was ich nun machen will ist zunächst ein speicherresistentes
[…]

Nur für die Zukunft: das heißt nicht „resistent“, das heißt „resident“. Das Programm bleibt (residiert) im Speicher und ist nicht immun gegen den bösen Speicherbazillus.

Der Begriff an sich stammt auch eher aus der Zeit von nicht Multitasking-fähigen Betriebssystemen (DOS), als der Mechanismus nuch ein wenig anders funktionierte. Heute würde man sowas eher als Hintergrundprozess bezeichnen.

Ist ein witziger (uralter) Fehler, der immer wieder für Erheiterung sorgt :wink:

(BTW, nicht in den falschen Hals bekommen… den Fehler hab’ ich auch gemacht.)

jaja, is mir schon klar,ich glaub ich war auch mal in der schule (oder wars doch nur ne kinderaufbewahrungsstube?)

naja, hab den fehler unmittelbar nachdem ich „direkt abschicken“-button geklickt hatte bemerkt…:smile: da wars dann zu spät. aber was solls, war ja jedem klar was gemeint ist.

ausserdem wärs doch auch mal ne schöne sache wenn es prozess monitore(bildschirme im gerichtssaal:wink:) gäbe, die gegen böse speicherattacken von memorysticks oder dem berüchtigten R.A.M.n1-bazillus resistent wären oder? :smile:

so ich residiere dann nun mal weiter hier im büro bis mich der feierabend (reboot) ausm gebäude (speicher) wirft und ich meine königliche wochenendresidenz aufsuchen kann.