Linuxのシェルスクリプトで多重起動を防止する
2020年7月2日 (木) 02:27時点におけるAdministrator (トーク | 投稿記録)による版
pidofを使っているもの。
Ubuntuなら最初から入っているはず。
macOSでもbrewからpidofを入れれば動くと思う。試してはいない。
brew search pidof
スクリプト自体はシンプルなものなのでbashでもzshでも動くとは思う。
#!/bin/sh
PROCESSNAME=`basename $0`
PROCESSID=`pidof -x $PROCESSNAME`
PROCESSNUM=`echo $PROCESSID | awk '{print NF}'`
if [ $PROCESSNUM -gt 1 ]; then
echo "multiple start"
exit 0
fi
# main