Como evitar múltiplas instâncias de um programa?
Eu preciso encontrar um caminho certo para evitar duas instâncias em execução do meu programa (Python). Atualmente estou usando o método a seguir.
No Windows,
os.popen('wmic process get caption,processid | findstr `programname.exe`')
No Linux,
os.popen('ps x | grep `programname`')
Parece funcionar bem por enquanto. Este método está correto? Alguém pode me sugerir uma maneira melhor?
editar: Obrigado pela resposta pessoal, há algo de errado com os métodos acima? Eu tentei o caminho do arquivo pid para o Linux. E se o arquivo pid for deletado de alguma forma?