#!/bin/bash
FILE_PATH=/home/site/data
LOCK_NAME="/tmp/my.lock"
cd $FILE_PATH
if ( set -o noclobber; echo "$$" > "$LOCK_NAME") 2> /dev/null;
then
trap 'rm -f "$LOCK_NAME"; exit $?' INT TERM EXIT
### 开始正常流程
php bin/console.php api/test/init
### 正常流程结束
### Removing lock
rm -f $LOCK_NAME
trap - INT TERM EXIT
else
echo "Failed to acquire lockfile: $LOCK_NAME."
echo "Held by $(cat $LOCK_NAME)"
exit 1
fi
echo "Done."
# set -o noclobber 设置禁止重定向覆盖
#INT Interrupt - 当有人使用Ctrl-C终止脚本时被触发
#TERM Terminate - 当有人使用kill杀死脚本进程时被触发
#EXIT Exit - 这是一个伪信号,当脚本正常退出或者set -e后因为出错而退出时被触发