シェルでよくつかう処理まとめ

感想おまちしてます!

シェルを作るときに気にする

  • 2重起動防止
  • pidファイルの確認
  • プロセス起動確認

を「/etc/init.d/functions」を使って実装してみる。

. /etc/init.d/functions
SCRIPT_NAME=testscript
PID_FILE=/var/run/${SCRIPT_NAME}
# 起動の確認 ここで一気に確認
pidofproc ${SCRIPT_NAME}
if [ $? -eq 0 ]; then
echo "プロセスは既に起動しています"
exit 1
fi
# pidファイルが残っている場合の処理
if [ -f ${PID_FILE} ]; then
echo "プロセスは停止していますがPIDファイルが存在します"
echo "${PID_FILE}を削除します"
rm -f ${PID_FILE}
fi
touch ${PID_FILE}
echo $$ > ${PID_FILE}
# 以下処理・・・