X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsynfigstudio-cph-monitor;h=7ca84610ccd865256e30e1bc50e726aa143f722b;hb=f0b3a083d6ebf2080c85696b2867f019d9a97fa9;hp=000b83a2d6628d1b59c7e63ee40d2bb95436fe53;hpb=c7efa619796407db833eb61ac1f41deb4cca78c8;p=synfig.git diff --git a/synfig-studio/trunk/synfigstudio-cph-monitor b/synfig-studio/trunk/synfigstudio-cph-monitor index 000b83a..7ca8461 100755 --- a/synfig-studio/trunk/synfigstudio-cph-monitor +++ b/synfig-studio/trunk/synfigstudio-cph-monitor @@ -17,10 +17,9 @@ trap writelog INT init() { -echo "Synfig Crash Monitor is a tool to collect statistics about synfig crashes." +echo "SynfigStudio Crash Monitor is a tool to collect statistics about synfig crashes." echo "All information is collected locally in ~/.synfig/cph directory." echo -echo `date +%H:%M` "Synfig Crash Monitor started." STARTED=0 RUNTIME=0 VERSION='' @@ -29,6 +28,27 @@ BRANCH='' REVISION_ID='' CRASH=0 [ ! -d ~/.synfig/cph ] && mkdir -p ~/.synfig/cph || true + +# Detect if crash monitor is already started +PDIR=${0%`basename $0`} +LCK_FILE=~/.synfig/cph/`basename $0`.lck +if [ -f "${LCK_FILE}" ]; then + MYPID=`head -n 1 "${LCK_FILE}"` + if ! ( ps -p ${MYPID} | grep ${MYPID} >/dev/null ); then + # The process is not running + # Echo current PID into lock file + echo $$ > "${LCK_FILE}" + else + echo "`basename $0` is already running [${MYPID}]. Aborting." + sleep 5 + exit 0 + fi +else + # The process is not running + # Echo current PID into lock file + echo $$ > "${LCK_FILE}" +fi +echo `date +%H:%M` "Synfig Crash Monitor started." } writelog() @@ -143,5 +163,6 @@ mainloop() done } + init mainloop