[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Überprüfen ob ein S cript schon läuft



On Tue, 15 Mar 2005, Michelle Konzack wrote:

> Hey Thomas,   :-D

Moinsen Madmoiselchen und Jan und Bruno, :-)



recht sakrischen Dank noch einmal für alle die Antworten. Ich hatte schon 
so einen Verdacht mit den "fork-exec"-Kombos, aber so richtig glauben will 
man die Sachen ja nicht, die einem das eigene kranke Hirn einreden mag.


> Warum machste eigentlich alles so kompliziert ?
> :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)

Hey - das ist - bis auf eine kleine Korrektur - der Spruch von meiner 
Frau! (s/eigentlich/& immer/g)

Ihr beiden kennt euch doch nicht etwa? ;-)


Aus dem Flachsfeld zurück zum Thema:

1.) pstree ist hübsch - unterschlägt aber die Kommandozeile. Hab ich 
    gemerkt, als ich im Editor war und das Script im einen Screen 
    editierte und im anderen Screen laufenließ. Der Editor wurde als 
    laufende Instanz gezählt, was nicht ganz im Sinne des Erfinders war. 
    Aber wie gesagt, pstree ist wirklich was für's Auge und nicht ganz so 
    krude wie "ps xufa". "wc -l" hätte ich wissen müssen, wenn ich die 
    man-page zu wc gelesen hätte. Wieder was gelernt - trotz meines 
    biblischen Alters... :-)

2.) Die Sache mit dem "fork"en des Scriptes habe ich soweit vermutet und 
    daher auch geistig durchdrungen. Es ist immer wieder überraschend, 
    welche Niggeligkeiten in einer Mehrprozessumgebung aufkommen.

3.) Die Sache mit dem $PIDFILE in der die PID und Uhrzeit steht, scheint 
    in der Tat die beste Variante zu sein. Denn wenn ein Prozess abstürzt, 
    dann kann das Script diesen Umstand dadurch feststellen, daß auf der 
    PID kein Prozess mit dem Namen $0 läuft und ein neues $PIDFILE 
    anlegen. Abgesehen von den ganzen "und und und" ;-) die sich dadurch 
    viel eleganter greifen lassen.


Daraus folgt natürlich:

4.) Gibt's bei Debian nicht schon was, was das von vorneherein macht? 
    Sowas wie ein "checkproc" wie man es vom Nürnberger Microsoft kennt 
    und auf diesen Rechnern allenthalben schätzt und einsetzt, das aber im 
    Gegensatz zum Nürnberger Original nicht nur Binaries testen kann?


t_antepoth@sofa:~> rpm -q --whatprovides /sbin/checkproc
sysvinit-2.85-31
t_antepoth@sofa:~>


( apt-cache search process | grep check wurde bereits durchgeführt )

Habe den Source mal heruntergeladen und mir die Lizenz dazu angesehen. Das 
ist erfreulicherweise die GPL, unter der das killproc/checkproc Duo steht.


tar tvjf killproc-2.06.tar.bz2 

drwxr-xr-x werner/suse       0 2003-04-14 17:35:28 killproc-2.06/
-rw-r--r-- werner/suse     983 2003-04-14 17:35:28 killproc-2.06/README
-rw-r--r-- werner/suse   18007 2003-04-14 17:35:28 killproc-2.06/COPYING
-rw-r--r-- werner/suse    4358 2003-04-14 17:35:28 killproc-2.06/Makefile
-rw-r--r-- werner/suse    7679 2003-04-14 17:35:28 killproc-2.06/killproc.8
-rw-r--r-- werner/suse    8728 2003-04-14 17:35:28 killproc-2.06/killproc.c
-rw-r--r-- werner/suse   14399 2003-04-14 17:35:28 killproc-2.06/startproc.c
-rw-r--r-- werner/suse    7451 2003-04-14 17:35:28 killproc-2.06/startproc.8
-rw-r--r-- werner/suse    5468 2003-04-14 17:35:28 killproc-2.06/checkproc.c
-rw-r--r-- werner/suse    6335 2003-04-14 17:35:28 killproc-2.06/checkproc.8
-rw-r--r-- werner/suse   31828 2003-04-14 17:35:28 killproc-2.06/libinit.c
-rw-r--r-- werner/suse    8278 2003-04-14 17:35:28 killproc-2.06/libinit.h
-rw-r--r-- werner/suse    1576 2003-04-14 17:35:28 killproc-2.06/usleep.c
-rw-r--r-- werner/suse    1024 2003-04-14 17:35:28 killproc-2.06/usleep.1
-rw-r--r-- werner/suse     749 2003-04-14 17:35:28 killproc-2.06/killproc-2.06.lsm


Da könnte man doch vollkommen blasenfrei ein Paketchen aus dem Checkproc 
schneidern?


> Uah.... habe ich jetzt rumgemacht :-)

Merci vielmalst :-)
Ich weiß garnicht wie ich das wieder gut machen kann. 
Ich sag' daher einfach mal herzlichst "Danke" :-)


Mit freundlichem Grinsen



Thomas Antepoth

Reply to: