मैं पर्ल विंडोज में एक त्वरित ऑटो-अपडेटर बनाने की कोशिश कर रहा हूं। मैंने देखा है कि जब मैं पैकेज के अद्यतन को स्थापित करने के लिए cpanp
पर कॉल करता हूं तो यह स्क्रिप्ट का एक नया संस्करण स्थापित करने में विफल रहता है क्योंकि स्क्रिप्ट वर्तमान में चल रही है। मैं वर्तमान में CORE::system()
के साथ cpanp
पर कॉल कर रहा हूं। अगर मैंने cpanp
को exec()
के साथ बुलाया है तो क्या यह प्रतिस्थापन के लिए निष्पादन योग्य रिलीज़ होगा? या, क्या विंडोज इसे पूरी तरह से बंद कर देता है भले ही निष्पादन पूरी तरह से cpanp
पर चालू हो गया हो?विंडोज स्क्रिप्ट ऑटो-अपडेट निष्पादन के साथ निष्पादन योग्य को बदल रहा है?
वर्तमान में, मेरी प्रक्रिया प्रवाह कुछ इस तरह, सर्वर से
- डाउनलोड META.yml
- META.yml के संस्करण
- वर्तमान
$VERSION
- वर्तमान हैं के खिलाफ की तुलना करें बाहर पार्स लग रहा है संस्करण कम है, META.yml
- Ge में डेटा का उपयोग कर एक संस्करण स्ट्रिंग उत्पन्न करें META.yml के लिए मेजबान/पथ और संस्करण/डेटा जानकारी स्पोन
cpanp
अद्यतन की - सूचित उपयोगकर्ता
- यूआरएल के साथ अद्यतन चलाने के लिए उपयोग करते हुए पैकेज के लिए एक URL nerate।
- Ge में डेटा का उपयोग कर एक संस्करण स्ट्रिंग उत्पन्न करें META.yml के लिए मेजबान/पथ और संस्करण/डेटा जानकारी स्पोन
- वर्तमान संस्करण में एक ही
- कुछ भी नहीं
- वर्तमान हैं के खिलाफ की तुलना करें बाहर पार्स लग रहा है संस्करण कम है, META.yml
system()
निष्पादन के प्रतिस्थापन के संबंध में Win32 पर अलग ढंग से व्यवहार करते हैं exec()
से होगा है? लिनक्स पर यह डिजाइन के रूप में काम करता है।
क्या आप ** पर्ल ** निष्पादन योग्य के बारे में बात कर रहे हैं? –