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

Re: Checken, ob ein (Perl-)Skript schon läuft



Heiko Schlittermann schrieb:
> Jochen van Geldern <dd8pz@imail.de> (Mo 23 Apr 2012 23:15:30 CEST):
>> Andre Tann schrieb:
>>> David Raab, Montag 23 April 2012: 
>>>
>>>>> Und auch das reicht nicht. Denn kann eine PID nicht zweimal vergeben
>>>>> werden?
>>>>
>>>> Nein.
>>>
>>> Grad rein aus Neugier probiert: doch, sie kann. Habe ein Skript
>>> geschrieben, welches einfach eine Shell nach der anderen ausführt, und
>>> deren pid wegschreibt.
>>>
>>> Ergebnis: die pids werden hochgezählt, und nach 32767 kommt 300, danach
>>> 301 usw, bis die pid wieder bei 32767 angekommen ist. Dann kommt wieder
>>> 300, usw.
>> Ja, aber das war doch nur ein Test. Ich kann mir nicht in der Praxis
>> vorstellen das innerhalb eines Tages 1000 Prozesse gestartet werden. Nun
> 
> Nee? Mehr als 64kB Speicher konnte man sich irgendwann auch mal nicht
> vorstellen.
Huch, da drüber war da doch nicht die rede.
Wenn innerhalb so kurze Zeit viele Prozesse gestartet werde, ist es
entweder ein Extremsystem (Stark Frequentierter Server z.B.) oder es
stimmt etwas mit den System etwas nicht.
Vieleicht sind 100 Prozesse bischen klein gegriffen. Es geht da drum,
das die Wahrscheinlichkeit, das 32000 Prozesse innerhalb einer Stunde
gestartet werde relative gering ist, Oder?
> 
>> normalerweise erreicht man die PID 32767 nicht so schnell. Und ich nehme
>> man nicht an das zwei laufende Prozesse die gleiche PID bekommen könne,
>> oder ( :-) ) ?
> 
> Nein, es gibt *zeitgleich* nicht zwei Prozesse mit der selben ID.
> 
Das ist mir schon klar. Das war ja auch nur etwas Ironisch gemeint.
>> Auserdem kann man die Verzeichnisse per crontab regelmäßig aufräumen.
>> (PID-File wo es kein Prozess gibt löschen).
> 
> Hört sich abenteuerlich an. Und wenn es einen Prozess gibt, woher weißt
> Du dann, ob es der richtige ist?

Wieso nicht. Man räumt ALLE PID-Files weg, wozu es keine Prozesse mehr gibt.
Wenn Programme sich Ordnungsgemäß beenden, dann Räumen Sie schon selber
hintersich auf.
Sonst sind es PID-Files, die von abgestürzten Prozessen stammen, oder?

Und ob das der Richtige ist, das sehe ich etwas belanglos, dann bleibt
eben der PID-File stehen, und der Start des Script klappt eben nicht
mehr, So das Script leider eben nicht mehr läuft.
Dann man muß eben nach der Ursache, warum das Script abgestürzt ist,
suchen und beheben.
Ein Reboot kann man eben ausschließen, da man eben drauf achtet, das
PID-Files beim Booten gelöscht werden.
Wenn eben der PID-File stehen bleibt, obwohl der Script beendet wird ist
es Regel ein Bug in Script, Speichermangel oder auch ein Hardware-Problem.

Man kann nicht ALLE Eventualitäten berücksichtigen. Dafür gibt es zu
viele von.

-- 
Gruß Jochen


Reply to: