Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316

    Linux Py2.7 Impedire due processi uguali

    Lasciando il pc accesso 24h sy 24h a volte mi capita di aprire un mio programma due volte, come faccio ad impedirlo?
    Attualmente utilizzo questo:

    codice:
    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)
    E diciamo pure che il suo lavoro lo fa, ma... se un giorno voglio crearmi uno script con un nome simile ovviamente non potrò...

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    guarda questo modulo: http://pythonhosted.org/tendo/
    qui trovi un esempio di implementazione: http://stackoverflow.com/a/1265445

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,316
    Grazie, risolto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.