nerdcraft hat geschrieben:
Wie kann ich verhindern, daß das selbe Praogramm zweimal aufgerufen wird.
So etwas löst man üblicherweise mit einer PIDFile. Das funktioniert so, dass dein Programm beim ersten Start an einer festgelegten Stelle eine Datei anlegt und seine aktuelle PID dort hineinschreibt. Wird das Programm ausgeführt, prüft es zunächst, ob die PIDFile existiert. Wenn nicht, dann läuft es bisher nicht. Wenn doch, dann ist zu prüfen, ob die in der PIDFile vorhandene PID gültig ist (das Programm könnte ja abgestürzt sein). Wenn nicht, dann läuft es nicht, wenn doch, dann läuft es höchstwahrscheinlich. Bei einem regulären Beenden deines Programms löscht du kurz vor Ende die PIDFile.
Zugriff auf die PID eines Programms bekommst du über die globale Variable
$$, wo du deine PIDFile speicherst, hängt von deinem System ab (denkbar wären etwa /run oder $XDG_CACHE_HOME (normalerweise ~/.cache); unter Windows wird es ähnliche empfohlene Verzeichnisse geben.
Vale,
Quintus
_________________
Habe den Mut, dich deines eigenen
Verstandes zu bedienen! — Immanuel Kant
Ich bin freischaffender Softwareentwickler und freue mich über jedes neue Projekt. Kontaktinformation
auf meiner Website.Mein Blog |
GitHub-Profil | Auf Twitter:
@qquintilianus | PGP/GPG-Schlüssel: B1FE 958E D5E8 468E AA20 8F4B F1D8 799F
BCC8 BC4F