Как избежать нескольких экземпляров программы?

Мне нужно найти правильный способ предотвратить два запущенных экземпляра моей (Python) программы. В настоящее время я использую следующий метод.

В Windows

os.popen('wmic process get caption,processid | findstr `programname.exe`')

В Linux

os.popen('ps x | grep `programname`')

Кажется, сейчас работает нормально. Этот метод правильный? Может кто-нибудь предложить мне лучший способ?

редактировать: Спасибо за ответ, ребята, что-то не так с вышеуказанными методами? Я попробовал способ файла pid для Linux. Что, если pid-файл каким-то образом будет удален?

Ответы на вопрос(3)

Ваш ответ на вопрос