#!/bin/bash LOCKFILE=/tmp/$(basename "$0").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 export LD_LIBRARY_PATH=../ ../TSL ../exec_tsl/vcldesigner.tsl -libpath ../designer/ # sleep 1000 # 删除锁文件 rm -f ${LOCKFILE}