⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lockorder.sh

📁 lustre 1.6.5 source code
💻 SH
字号:
#!/bin/shset -eexport PATH=`dirname $0`:`dirname $0`/../utils:$PATHCREATEMANY=${CREATEMANY:-createmany}STATMANY=${STATMANY:-statmany}UNLINKMANY=${UNLINKMANY:-unlinkmany}LCTL=${LCTL:-lctl}MOUNT1=${MOUNT1:-/mnt/lustre1}MOUNT2=${MOUNT2:-/mnt/lustre2}DIR=${DIR:-$MOUNT1}DIR2=${DIR2:-$MOUNT2}COUNT=${COUNT:-100}cleanup() {	[ $CR_PID ] && kill -9 $CR_PID	[ $ST_PID ] && kill -9 $ST_PID}trap cleanup EXITLOCKDIR=$DIR/lockdirLOCKFILE=$LOCKDIR/lockfilerm -rf $LOCKDIRNUM=0MINDIR=$DIRMAXDIR=$DIRMINRES=2000000000MAXRES=0mkdir -p $MINDIRwhile [ $MINRES -gt $MAXRES ]; do	FILETMP=$MINDIR/f$$${NUM}	DIRTMP=$DIR/d$$/d${NUM}	touch $FILETMP	mkdir -p $DIRTMP	FILERES=`ls -id $FILETMP | awk '{ print $1 }'`	DIRRES=`ls -id $DIRTMP | awk '{ print $1 }'`	if [ $DIRRES -gt $MAXRES ]; then		MAXDIR=$DIRTMP		MAXRES=$DIRRES	fi	if [ $FILERES -lt $MINRES ]; then		[ -f "$MINFILE" ] && rm $MINFILE		MINFILE=$FILETMP		MINRES=$FILERES	else		rm $FILETMP	fi	NUM=$(($NUM + 1))donemv $MAXDIR $LOCKDIRmv $MINFILE $LOCKFILErm -rf $DIR/d$$$LCTL mark "start dir: $LOCKDIR=$MAXRES file: $LOCKFILE=$MINRES"# link will lock $LOCKFILE and $DIR as it creates ${LOCKFILE}{0,1,...}$CREATEMANY -l$LOCKFILE $LOCKFILE -$COUNT &CR_PID=$!while ! test -f ${LOCKFILE}1 ; do	sleep 1done# this will lock $DIR and ${LOCKFILE}0$STATMANY -s $DIR2/lockdir/lockfile 1 -$COUNT &ST_PID=$!sleep $(($COUNT / 2))$UNLINKMANY $DIR2/lockdir/lockfile 1 $(($COUNT * 1000)) || truetrap 0kill $CR_PID || truekill $ST_PID || truerm -rf $LOCKDIR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -