[Risolto] Linux Py2.7 Impedire due processi uguali

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 862
Iscrizione: domenica 7 luglio 2013, 15:55
Desktop: GNU/Linux
Distribuzione: Ubuntu 22.04.2 LTS
Sesso: Maschile

[Risolto] Linux Py2.7 Impedire due processi uguali

Messaggio da TommyB1992 »

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: 862
Iscrizione: domenica 7 luglio 2013, 15:55
Desktop: GNU/Linux
Distribuzione: Ubuntu 22.04.2 LTS
Sesso: Maschile

Re: Linux Py2.7 Impedire due processi uguali

Messaggio da TommyB1992 »

Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti