Stellen Sie sicher, dass nur eine einzelne Instanz eines Programms ausgeführt wird

Gibt es eine Pythonic-Methode, mit der nur eine Instanz eines Programms ausgeführt werden kann?

Die einzige vernünftige Lösung, die ich mir ausgedacht habe, ist, es als Server an einem Port auszuführen, und dann das zweite Programm, das versucht, es an denselben Port zu binden - schlägt fehl. Aber es ist keine wirklich gute Idee, vielleicht gibt es etwas Leichteres als dies?

(Bedenken Sie, dass das Programm manchmal fehlschlagen kann, d. H. Segfault - Dinge wie "Datei sperren" funktionieren nicht.)

Aktualisiere: Die angebotenen Lösungen sind viel komplexer und weniger abhängig, als wenn nur ein Port mit einem nicht vorhandenen Server belegt wäre.

Antworten auf die Frage(38)

Ihre Antwort auf die Frage