Antworten:
PID-Dateien werden von einigen Programmen geschrieben, um ihre Prozess-ID beim Start aufzuzeichnen. Dies hat mehrere Zwecke:
kill
Befehl auszugeben, wenn man es beenden möchte.Das bloße Vorhandensein einer PID-Datei garantiert natürlich nicht, dass diese bestimmte Prozess-ID ausgeführt wird. Daher ist diese Methode nicht 100% narrensicher, aber in vielen Fällen "gut genug". Die Überprüfung, ob eine bestimmte PID in der Prozesstabelle vorhanden ist, ist unter UNIX-ähnlichen Betriebssystemen nicht vollständig übertragbar, es sei denn, Sie möchten sich auf das ps
Dienstprogramm verlassen, dessen Aufruf möglicherweise nicht in allen Fällen erwünscht ist (und ich glaube, dass einige UNIX-ähnliche Betriebssysteme vorhanden sind ps
anders implementieren ).
Sperrdateien werden von Programmen verwendet, um sicherzustellen, dass zwei (gut erzogene) separate Instanzen eines Programms, die möglicherweise gleichzeitig auf einem System ausgeführt werden, nicht gleichzeitig auf etwas anderes zugreifen. Die Idee ist, bevor das Programm auf seine Ressource zugreift, das Vorhandensein einer Sperrdatei zu überprüfen und wenn die Sperrdatei vorhanden ist, entweder einen Fehler auszugeben oder darauf zu warten, dass sie verschwindet. Wenn es nicht vorhanden ist, erstellt das Programm, das die Ressource "erwerben" möchte, die Datei. Andere Instanzen, die später auftreten können, warten darauf, dass dieser Vorgang abgeschlossen wird. Dies setzt natürlich voraus, dass das Programm, das die Sperre "erwirbt", sie tatsächlich freigibt und nicht vergisst, die Sperrdatei zu löschen.
Dies funktioniert, weil das Dateisystem unter allen UNIX-ähnlichen Betriebssystemen die Serialisierung erzwingt , was bedeutet, dass zu einem bestimmten Zeitpunkt nur eine Änderung am Dateisystem vorgenommen wird. Art wie Schlösser mit Datenbanken und so.
Diese Dateien werden häufig von Daemons verwendet, die auf einem System nur einmal ausgeführt werden sollten. Die PID-Datei enthält normalerweise die Prozess-ID-Nummer des bereits gestarteten und laufenden Programms, falls vorhanden. Beim Start wird auch die Sperrdatei erstellt. Solange die Sperrdatei vorhanden ist, wird keine andere ohne Benutzereingriff gestartet. Wenn die Sperrdatei vorhanden ist und die in der PID-Datei angegebene Prozess-ID nicht ausgeführt wird, wird davon ausgegangen, dass sich der Dämon in einem "toten" Zustand befindet. Dies bedeutet, dass er ausgeführt werden soll, aber wahrscheinlich nicht auf einen Absturz oder ein nicht ordnungsgemäßes Herunterfahren zurückzuführen ist . Dies kann bei einigen Programmen ein spezielles Start- / Neustartszenario auslösen. Durch ordnungsgemäßes Herunterfahren wird die Sperrdatei entfernt.
Eine PID-Datei enthält die Prozess-ID eines laufenden Prozesses. Dies hat verschiedene Verwendungen; Sie können es lesen und überprüfen, ob der Prozess noch ausgeführt wird, und entsprechende Maßnahmen ergreifen oder es lesen und den Prozess beenden.
Eine Sperrdatei ist höchstwahrscheinlich anwendungsspezifisch. Sperrdateien werden verwendet, um anzuzeigen, dass eine Ressource verwendet wird und dass der Prozess, auf den zugegriffen werden soll, warten soll, bis die Ressource freigegeben ist, bevor er fortfährt.
.lck
Datei im Verzeichnis der VM löschen. Andernfalls werden Sie beim Versuch, sie zu starten, darauf hingewiesen, dass sie verwendet wird.