[解決済み] シェルスクリプトのインスタンスが同時に1つだけ実行されるようにする簡単な方法
2022-04-13 13:46:12
質問
あるシェルスクリプトのインスタンスが1つだけ実行されていることを確認する簡単な方法は何ですか?
どのように解決するのですか?
を使用した実装を紹介します。 ロックファイル を作成し、そこにPIDをechoしています。を削除する前にプロセスが終了した場合の保護として機能します。 ピッドファイル :
LOCKFILE=/tmp/lock.txt
if [ -e ${LOCKFILE} ] && kill -0 `cat ${LOCKFILE}`; then
echo "already running"
exit
fi
# make sure the lockfile is removed when we exit and then claim it
trap "rm -f ${LOCKFILE}; exit" INT TERM EXIT
echo $$ > ${LOCKFILE}
# do stuff
sleep 1000
rm -f ${LOCKFILE}
ここでの仕掛けは
kill -0
はシグナルを送らず、ただ与えられた PID を持つプロセスが存在するかどうかをチェックします。 また
trap
は
ロックファイル
は、プロセスが強制終了しても削除されます(ただし
kill -9
).
関連
-
[解決済み] Bashで$()と`の違いはあるのでしょうか?重複] [重複
-
[解決済み] Bashスクリプトで引数を反復処理する方法
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] あるディレクトリにあるすべてのコード行を再帰的にカウントするにはどうすればよいですか?
-
[解決済み] パラメータを取るBashのエイリアスを作る?
-
[解決済み] シェルスクリプトで部分文字列を別の文字列に置き換える
-
[解決済み] シェルコマンドを実行しながらエコーする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] '\r': command not found - .bashrc / .bash_profile [duplicate].
-
[解決済み] cmake execute_process COMMAND [重複]。
-
[解決済み] bashでjsonファイルを解析するためにjqの出力からダブルクオートを削除する方法は?
-
[解決済み] cshスクリプトをbashでソースして環境を設定する方法 [終了しました]。
-
[解決済み] Bashで最新のディレクトリを変数に取得する
-
[解決済み] grepの出力に含まれる重複を削除する
-
[解決済み] ファイル内の大文字・小文字を区別しない文字列を grep するには?
-
[解決済み] ターミナルでbashスクリプトを実行するにはどうすればよいですか?
-
[解決済み] 環境変数を表示/エコーするには?
-
[解決済み] MINGW64 "make build" エラー。"bash: make: コマンドが見つかりません"