commands - unix operating system download



यूनिक्स में "टेक्स्ट फ़ाइल व्यस्त" संदेश क्या उत्पन्न करता है? (6)

यह तब होता है जब आप किसी फ़ाइल को आजमाते हैं जिसे कर्नेल द्वारा निष्पादित किया जा रहा है, या उस फ़ाइल को निष्पादित करें जो वर्तमान में लेखन के लिए खुला है।

स्रोत: http://wiki.wlug.org.nz/ETXTBSY

क्या ऑपरेशन "पाठ फ़ाइल व्यस्त" त्रुटि उत्पन्न करता है? मैं बिल्कुल बताने में असमर्थ हूं।

मुझे लगता है कि यह इस तथ्य से संबंधित है कि मैं एक अस्थायी पायथन स्क्रिप्ट (tempfile का उपयोग कर) बना रहा हूं और इससे execl का उपयोग कर रहा हूं, लेकिन मुझे लगता है कि फ़ाइल को चलाने के लिए execl बदल जाता है।


Answer #1

आप इसे सीआईएफएस / एसएमबी नेटवर्क शेयरों पर अधिक आम मान सकते हैं। जब कोई फ़ाइल उस फ़ाइल को खोलती है, तब भी Windows फ़ाइल को लिखने की अनुमति नहीं देता है, और यहां तक ​​कि यदि सेवा विंडोज नहीं है (यह कुछ अन्य NAS उत्पाद हो सकती है), तो यह संभवतः उसी व्यवहार को पुन: पेश करेगा। संभावित रूप से, यह लॉकिंग / प्रतिकृति से संबंधित कुछ अंतर्निहित NAS मुद्दे का एक अभिव्यक्ति भी हो सकता है।


Answer #2

मेरे अनुभव में से एक:

मैं हमेशा रिवर्स इंजीनियरिंग के माध्यम से क्रोम का डिफ़ॉल्ट कीबोर्ड शॉर्टकट बदलता हूं। संशोधन के बाद, मैं क्रोम बंद करना भूल गया और निम्नलिखित चला गया:

sudo cp chrome /opt/google/chrome/chrome
cp: cannot create regular file '/opt/google/chrome/chrome': Text file busy

स्ट्रेस का उपयोग करके, आप अधिक जानकारी प्राप्त कर सकते हैं:

sudo strace cp ./chrome /opt/google/chrome/chrome 2>&1 |grep 'Text file busy'
open("/opt/google/chrome/chrome", O_WRONLY|O_TRUNC) = -1 ETXTBSY (Text file busy)

Answer #3

मेरे मामले में, मैं एक सीएसएच वातावरण में एक खोल फ़ाइल (एक्सटेंशन .sh के साथ) निष्पादित करने का प्रयास कर रहा था, और मुझे वह त्रुटि संदेश मिल रहा था।

बस बैश के साथ चल रहा है यह मेरे लिए काम किया। उदाहरण के लिए

bash file.sh


Answer #4

यदि किसी लिनक्स बॉक्स पर phpredis बनाने की कोशिश कर रहे हैं तो आपको फ़ाइल चलाने से पहले, sleep कमांड के साथ फ़ाइल अनुमतियों को संशोधित करने के लिए समय देना होगा:

chmod a+x /usr/bin/php/scripts/phpize \
  && sleep 1 \
  && /usr/bin/php/scripts/phpize

Answer #5

यह थोड़ी देर के बाद से मैंने यह संदेश देखा है, लेकिन यह सिस्टम वी आर 3 में प्रचलित था या दशकों पहले कुछ अच्छे थे। उसके बाद, इसका मतलब था कि आप चल रहे थे जब आप एक प्रोग्राम निष्पादन योग्य नहीं बदल सका।

उदाहरण के लिए, मैं आरएमके नामक एक make वर्कलाइक का निर्माण कर रहा था, और थोड़ी देर के बाद यह आत्मनिर्भर था। मैं विकास संस्करण चलाऊंगा और इसे एक नया संस्करण बनाउंगा। इसे काम करने के लिए, वर्कअराउंड का उपयोग करना आवश्यक था:

gcc -g -Wall -o rmk1 main.o -L. -lrmk -L/Users/jleffler/lib/64 -ljl
if [ -f rmk ] ; then mv rmk rmk2 ; else true; fi ; mv rmk1 rmk

इसलिए, 'टेक्स्ट फ़ाइल व्यस्त' के साथ समस्याओं से बचने के लिए, बिल्ड ने एक नई फ़ाइल rmk1 बनाई, फिर पुराने rmk को rmk2 ले जाया गया (नाम बदलें कोई समस्या नहीं थी; अनलिंक था), और फिर नए निर्मित rmk1 को rmk ले जाया गया।

मैंने थोड़ी देर में आधुनिक प्रणाली पर त्रुटि नहीं देखी है ... लेकिन मेरे पास अक्सर ऐसे प्रोग्राम नहीं होते हैं जो प्रोग्राम स्वयं को पुनर्निर्माण करते हैं।





unix