回答編集履歴
1
追記
test
CHANGED
@@ -11,8 +11,18 @@
|
|
11
11
|
`-n`を付けると「起動中ならコマンドを実行しない」になります。
|
12
12
|
|
13
13
|
手動での実行時も常に`flock`経由で実行します。
|
14
|
-
起動済みで実行中止にした時にメッセージを出したいならシェルスクリプトにしたほうがいいでしょうね。
|
15
14
|
|
15
|
+
## 追記
|
16
|
+
Pythonのみでやる方法。
|
17
|
+
```Python
|
18
|
+
import fcntl
|
16
19
|
|
20
|
+
f = open(__file__,"r")
|
21
|
+
try:
|
22
|
+
fcntl.flock(f.fileno(), fcntl.LOCK_EX|fcntl.LOCK_NB)
|
23
|
+
except BlockingIOError:
|
24
|
+
print("重複起動")
|
25
|
+
exit()
|
26
|
+
```
|
27
|
+
(プロセスが終了するか、`f`をクローズするとロックが解除されます。あるいは、`LOCK_UN`を指定して`flock`を再度呼び出すか)
|
17
28
|
|
18
|
-
|