fcntl
ロック用の既存のライブラリ (つまり、おそらく他のライブラリ)に依存することなく、Python で単純なロック メカニズムを作成したいと考えています。
私はすでに小さなスタブを持っていますが、少し検索した後、ロックファイルを手動で作成してプロセス PID を内部に配置する方法についての良い答えが見つかりませんでした。ここに私のスタブがあります:
dir_name = "/var/lock/mycompany"
file_name = "myapp.pid"
lock = os.path.join(dir_name, file_name)
if os.path.exists(lock):
print >> sys.stderr, "already running under %s, exiting..." % lock
# display process PID contained in the file, not relevant to my question
sys.exit(ERROR_LOCK)
else:
# create the file 'lock' and put the process PID inside
lock
現在のプロセス PID を取得してファイルに入れるにはどうすればよいですか? ファイルシステムを調べることも考えまし/proc
たが、このような単純なタスクには少し多すぎるようです。
ありがとう。