Tengo un script de python que solo quiero permitir que se ejecute una vez en una máquina. Quiero que imprima algo así como "Error, ya se está ejecutando" si ya se está ejecutando, si se está ejecutando en segundo plano o en una sesión ssh diferente. ¿Cómo haría esto? Aquí está mi script.¿Permitir solo una instancia de 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 Estoy utilizando CentOS 5 si eso es importante.
Si vas a publicar sólo un enlace, es posible que desee citar de que sea un poco así. – icktoofay
Gracias por el consejo. – fatrock92
La cuestión es que el script es un bucle infinito, por lo que nunca llegaría al final del script donde se elimina el bloqueo. –