[Risolto] Linux Py2.7 Impedire due processi uguali

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

[Risolto] Linux Py2.7 Impedire due processi uguali

Messaggioda TommyB1992 » mercoledì 10 maggio 2017, 9:00

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: 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)


E diciamo pure che il suo lavoro lo fa, ma... se un giorno voglio crearmi uno script con un nome simile ovviamente non potrò...
Ultima modifica di TommyB1992 il mercoledì 10 maggio 2017, 23:08, modificato 1 volta in totale.
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 280
Iscrizione: luglio 2013
Desktop: GNU/Linux
Distribuzione: Ubuntu 15.04 (i686)
Sesso: Maschile

Re: Linux Py2.7 Impedire due processi uguali

Messaggioda TommyB1992 » mercoledì 10 maggio 2017, 23:08

TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 280
Iscrizione: luglio 2013
Desktop: GNU/Linux
Distribuzione: Ubuntu 15.04 (i686)
Sesso: Maschile


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 6 ospiti