Attualmente utilizzo questo:
Codice: Seleziona tutto
def alreadyPsExist(fileName):
pids = [pid for pid in os.listdir("/proc") if pid.isdigit()]
find = 0
for pid in pids:
try:
if fileName in (open(os.path.join("/proc", pid, "cmdline"), "rb").read()).strip():
if find >= 2:
return True
find += 1
except IOError: # proc has already terminated
continue
return False
if libs.Common.alreadyPsExist(__file__):
ErrorBox("The software is already running.")
sys.exit(0)
