Ho uno script python che voglio permettere solo di essere in esecuzione una volta su una macchina. Voglio che stampi qualcosa come "Errore, già in esecuzione" se è già in esecuzione, se è in esecuzione in background o in una sessione ssh diversa. Come lo farei? Ecco la mia sceneggiatura.Consenti solo un'istanza di script python?
import urllib, urllib2, sys
num = sys.argv[1]
print 'Calling'
phones = [
'http://phone1/index.htm',
'http://phone2/index.htm',
'https://phone3/index.htm',
'https://phone4/index.htm',
'https://phone5/index.htm'
]
data = urllib.urlencode({"NUMBER":num, "DIAL":"Dial", "active_line":1})
while 1:
for phone in phones:
try:
urllib2.urlopen(phone,data) # make call
urllib2.urlopen(phone+"?dialeddel=0") # clear logs
except: pass
P.S Sto usando CentOS 5 se questo è importante.
Se avete intenzione di inviare solo un link, si può decidere di citare da un po 'pure. – icktoofay
Grazie per il suggerimento. – fatrock92
Il problema è che lo script è un ciclo infinito, quindi non arriverà mai alla fine dello script in cui viene rimosso il blocco. –