マシン上で 1 回だけ実行できるようにしたい Python スクリプトがあります。バックグラウンドで実行されているか、別の ssh セッションで実行されているかに関係なく、既に実行されている場合は、「エラー、既に実行中です」のようなものを出力します。どうすればいいですか?これが私のスクリプトです。
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
PSそれが重要な場合、私はCentOS 5を使用しています。