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

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



Am 2005-03-15 23:29:32, schrieb Jan Kohnert:

> [ganz kompliziertes Zeug] ;)

:-)

> Warum läßt du dein Script nicht ein Tempfile mit der PID des Scriptes
> anlegen 
> und nach erfolgreichem Abschluß wieder löschen?

Weil Du auch mit Programm abstürzen rechnen mußt und da wird die PID
dann bei Scripten nicht weggeräumt

Gut, ich mache auch:

  __( '/home/michelle.konzack/devel/bash/pid.template' )________________
 /
| #!/bin/bash
| 
| NEWPID=$$
| PROGNAME=`basename $0`
| 
| if [ ! -f /var/run/$PROGNAME.pid ] ; then
|   OLDPID=`cat /var/run/$PROGNAME.pid`
|   pstree -pan |grep ",$OLDPID)" |grep "$PROGNAME" >/dev/null 2>&1
|   if [ $? = "0" ] ; then
|     exit 0
|   fi
| fi
| echo $NEWPID >/var/run/$PROGNAME.pid
| 
| 
| #  Hier das eigentliche
| #  Programm einfügen.
| 
| 
| rm -f /var/run/$PROGNAME.pid
 \______________________________________________________________________

> Da mußt du nur prüfen ob die Datei existiert (einfach) und ob die
> PID zu einem 
> laufenden Programm gehört (auch einfach). Da PIDs nur aufsteigend
> vergeben 
> werden, mußt du nichtmal dem Prozeßnamen der PID rausfinden, ließe

Naja, ich habe teilweise mehr als 1000 Prozesse pro sekunde...
Ich überprüfe lieber den $PROGRAMNAMEN mit...

> sich aber 
> auch recht einfach realisieren. Desweiteren kannst du sogar PIDfiles
> mit 
> Startzeiten anlegen (da kann man schauen, ob das Script deutlich zu
> lange 
> läuft {vielleicht ist es ja steckengeblieben}) und und und...

:-)

> MfG Jan

Greetings
Michelle

-- 
Linux-User #280138 with the Linux Counter, http://counter.li.org/ 
Michelle Konzack   Apt. 917                  ICQ #328449886
                   50, rue de Soultz         MSM LinuxMichi
0033/3/88452356    67100 Strasbourg/France   IRC #Debian (irc.icq.com)

Attachment: signature.pgp
Description: Digital signature


Reply to: