मेरे पास एक स्क्रिप्ट है जो अतीत में काम करती थी, लेकिन अब मुद्दे होने लगती है (मेरा मानना है कि यह योसेमाइट के कारण है)। मैंने जो कुछ किया था, वह एक पर्यावरण चर बना था जो "झूठे" पर सेट किया गया था और फिर मेरी स्क्रिप्ट इसे "सच" पर सेट कर देगी, ताकि यदि स्क्रिप्ट बहुत लंबा हो जाए और समाप्त होने से पहले फिर से शुरू हो जाए तो यह समवर्ती रूप से फिर से चलाने का प्रयास नहीं करेगा। हालाँकि, यह अब काम नहीं करता है।
मैंने शुरुआत में /etc/launchd.conf के साथ चर सेट किया
setenv autoBackupImagesInProgress false
और मेरी स्क्रिप्ट का वह हिस्सा जो अब काम नहीं करता है
#Ensure that this script isn't already running
if [ -z "$autoBackupImagesInProgress" ] ; then
#Concurrency variable was not setup so this will not work;
#edit .bashrc or .profile to include export autoBackupImagesInProgress=false
#should be /etc/launchd.conf
print "WARNING: Concurrency protection unavailable"
elif [ $autoBackupImagesInProgress = true ] ; then
#Another process has already started this, but has not yet finished
print "WARNING: Already in progress; aborting."
exit 0;
fi
यह काम करता है अगर मैं टर्मिनल या स्पॉटलाइट से स्क्रिप्ट शुरू करता हूं, लेकिन नहीं जब यह लॉन्च के साथ शुरू होता है। जब लॉन्च से चलाया जाता है तो यह हमेशा पहले चेतावनी को प्रिंट करेगा और कभी भी एलिफ को हिट नहीं करेगा।