Tôi có một tập lệnh python mà tôi muốn chỉ cho phép chạy một lần trên máy. Tôi muốn nó in một cái gì đó như "Lỗi, đã chạy" nếu nó đã chạy, cho dù nó đang chạy trong nền hoặc trong một phiên ssh khác nhau. Làm thế nào tôi sẽ làm điều này? Đây là kịch bản của tôi.Chỉ cho phép một phiên bản của tập lệnh 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 Tôi đang sử dụng CentOS 5 nếu vấn đề đó quan trọng.
Nếu bạn đang đi để viết chỉ là một liên kết, bạn có thể muốn trích dẫn từ nó một chút là tốt. – icktoofay
Cảm ơn mẹo. – fatrock92
Vấn đề là, kịch bản là một vòng lặp vô hạn, do đó, nó sẽ không bao giờ có được đến cuối của kịch bản mà khóa được gỡ bỏ. –