「Linuxのシェルスクリプトで多重起動を防止する」の版間の差分

提供:MonoBook
編集の要約なし
編集の要約なし
1行目: 1行目:
[[pidof]]を使っているもの。
[[pidof]]を使っているもの。


[[Ubuntu]]なら最初から入っているはず。
[[Ubuntu]]なら最初から入っているはず。少なくとも[[Ubuntu 20.04 LTS]]は最初から入っていた。他の[[Linux]]は知らん。


[[macOS]]でもbrewからpidofを入れれば動くと思う。試してはいない。
[[macOS]]でもbrewからpidofを入れれば動くと思う。試してはいない。

2020年7月2日 (木) 02:28時点における版

pidofを使っているもの。

Ubuntuなら最初から入っているはず。少なくともUbuntu 20.04 LTSは最初から入っていた。他のLinuxは知らん。

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