VBscript प्रक्रिया गायब हो जाती है


1

कुछ दिनों पहले मैंने पहली बार देखा कि मेरा एक VBscripts शुरू होने के कुछ सेकंड बाद ही बंद हो गया। पता चलता है कि wscript.exe प्रक्रिया बनने के बाद लगभग 5 सेकंड के लिए बंद हो जाती है। यह बहुत सटीक है। मैंने एक परीक्षण स्क्रिप्ट लिखी है:

wscript.sleep 4800
wscript.echo "hi"

मैं टास्कमैनगर में wscript.exe प्रक्रिया देखता हूं, मैं 4.8 सेकंड इंतजार करने के बाद एक विभाजन दूसरे के लिए संदेश बॉक्स देखूंगा। और फिर यह (और प्रक्रिया) गायब हो जाता है। 5200 में समय बदलना और मुझे संदेश बॉक्स कभी नहीं दिखाई देगा।
और यहाँ अजीब बात है: समय को 5000 तक सेट करना, इस प्रक्रिया को भी अधिकांश समय मार दिया जाएगा, लेकिन मैंने 3 बार देखा है जो नहीं मारा गया था। जब तक मैंने ओके पर क्लिक नहीं किया, तब तक यह प्रक्रिया गायब नहीं होगी।

  • Wscript.exe और cscript.exe के लिए समान व्यवहार

  • एक्सप्लोरर से vbs पर डबल क्लिक करना, या व्यवस्थापक- cmd.exe से vbs चलाना कोई फर्क नहीं पड़ता

  • मैं सुरक्षा अनिवार्यता का उपयोग कर रहा हूं (और लंबे समय तक)

  • HijackThis इस लाइन को दिखाता है (जो हमेशा से नहीं रहा है): O4 - HKLM .. \ RunOnce: [Malwarebytes Anti-Malware] C: \ Program Files (x86) \ Malwarebytes का 'एंटी-मैलवेयर "mbamgui.exe / install / sil ( mbamgui.exe हालांकि एक चलने वाली प्रक्रिया नहीं है)

  • जब सीएससी आउटपुट के साथ चलाया जाता है:

d: \ temp> cscript tst.vbs
Microsoft (R) विंडोज स्क्रिप्ट होस्ट संस्करण 5.8
कॉपीराइट (C) Microsoft Corporation। सभी अधिकार सुरक्षित।

हाय
स्क्रिप्ट निष्पादन समय स्क्रिप्ट पर पार कर गया था "d: \ अस्थायी \ tst.vbs"।
स्क्रिप्ट निष्पादन को समाप्त कर दिया गया।

नीचे दिया गया कोड भी केवल एक परिणाम दिखाता है यदि गणना समय 5 सेकंड से नीचे रखा गया है:

t1 = टाइमर
i = 1 से 25000000
x = Rnd () * Rnd ()
अगला
MsgBox टाइमर-t1

मेरी मशीन पर, 25000000 के साथ मैं परिणाम को एक दूसरे को देखता हूं, 30000000 के साथ परिणाम कभी नहीं दिखाया गया है।

क्या कोई तरीका है जो मेरे वीबीस्क्रिप्ट प्रक्रिया को मारने के लिए जिम्मेदार है?

जवाबों:


1

टाइमआउट डिफ़ॉल्ट कोई भी नहीं है, इसलिए हो सकता है कि आपने गलती से स्क्रिप्ट इंजन के लिए टाइमआउट कॉन्फ़िगर कर दिया हो ।

यदि यह समस्या नहीं है, तो आप Sysinternals ProcMon का उपयोग करके स्क्रिप्टिंग प्रक्रिया (या तो WScript या CScript) की निगरानी करने का प्रयास कर सकते हैं ।


एक कमांड लाइन विकल्प है //Sजो "उपयोगकर्ता के लिए वर्तमान कमांड लाइन विकल्प सेट करेगा"। मैंने इसका परीक्षण नहीं किया है लेकिन इसका तात्पर्य यह है कि यदि //T(टाइमआउट) विकल्प के समान समय पर चलाया जाता है , तो यह T विकल्प को डिफ़ॉल्ट के रूप में संग्रहीत करेगा
horatio

हाँ, यह बात थी। मैंने अभी // T के साथ // S का परीक्षण किया है और इसे [HKEY_CURRENT_USER \ Software \ Microsoft \ Windows स्क्रिप्ट होस्ट \ सेटिंग्स] के तहत टाइमआउट REG-DWORD में संग्रहीत किया गया है। मेरे पास यह तथ्य है कि इन // विकल्पों के साथ बहुत पहले से नहीं खेल रहा था ....
mgr326639

इस बात का रहस्य कि मैं तीन बार देख चुका हूं ....
mgr326639
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.