#!/bin/bash #! LOCKFILE=/tmp/$(basename "$0").lock LOCKFILE=/tmp/tsleditor.lock if [ -e ${LOCKFILE} ] && kill -0 `cat ${LOCKFILE}`; then echo " $0 already running" exit fi # 确保退出时,锁文件被删除 trap "rm -f ${LOCKFILE}; exit" INT TERM EXIT #将当前程序进程id写入锁文件 echo $$ > ${LOCKFILE} # 做你需要的事情 export GDK_BACKEND=x11 TSLPATH=$(dirname $(dirname $(realpath $0) )) export LD_LIBRARY_PATH="${TSLPATH}/" "${TSLPATH}/TSL" "${TSLPATH}/exec_tsl/tsleditor.tsl" -libpath "${TSLPATH}/designer/" # sleep 1000 # 删除锁文件 rm -f ${LOCKFILE}