मैं विंडोज को हैंग (फ्रीज) करने के लिए कैसे उकसा सकता हूं?


180

मुझे उस घटना में उपकरण के व्यवहार का परीक्षण करने की आवश्यकता है जिसमें विंडोज हार्ड हैंग / फ्रीज (जैसे जमे हुए स्क्रीन, कोई एलईडी ब्लिंकिंग नहीं, इनपुट के लिए कोई प्रतिक्रिया नहीं, जिसमें Ctrl + Alt + Del , आदि शामिल हैं)। यथोचित रूप से कम समय में पर्याप्त प्रयोग करने के लिए मुझे इन हैंगों को या तो प्रोग्रामेटिक रूप से शुरू करने की आवश्यकता है।

मुझे विंडोज 10 में विशेष रूप से दिलचस्पी है लेकिन अन्य संस्करणों के लिए किसी भी तरह से काम करने की सराहना की जाती है।

इस विषय पर मैंने जो भी खोज की है वह आश्चर्यजनक रूप से मुझे इन स्थितियों को खत्म करने के तरीके पर चर्चा करने के लिए नहीं लाती है, न कि उन्हें उकसाती है। तो सवाल काफी अजीब लग सकता है।

प्रतिक्रिया: मैंने उत्तर और टिप्पणियों में दी गई कई व्यंजनों की कोशिश की है। सबसे पहले, मुझे बीएसओडी लाने वाली दुर्घटनाओं में कोई दिलचस्पी नहीं थी (इसीलिए मैंने फ्रीज़ का वर्णन किया, दुर्घटना का नहीं)।

मुझे यह स्वीकार करना चाहिए कि विंडोज 10 64-बिट ने कई तरीकों से अच्छा प्रतिरोध दिखाया। यह लगभग किसी भी सीपीयू-लोड विधि ( कांटा-बम , लूप, आदि सहित) के साथ काफी अच्छी तरह से मुकाबला करता है । तत्काल त्रुटियां बढ़ाने वाले तरीके (अधिकांश नॉटमफॉल्ट हैंग तरीके) रिबूट या शटडाउन (जिसे मैंने पीछा नहीं किया है) के साथ ओएस द्वारा नियंत्रित किया जाता है। NotMyFault की मेमोरी लीक विधियों द्वारा सर्वोत्तम परिणाम प्राप्त किए गए थे - रिबूट की कोई संभावना नहीं के साथ वास्तविक फ्रीज।

अंत में, मैं Microsoft द्वारा प्रलेखन की मात्रा से प्रभावित था जो विंडोज फ्रीज बनाने की बात करता है। ऐसा लगता है कि वे इस हिस्से को विपरीत से बेहतर तरीके से जानते हैं (लड़ते हुए फ्रीज) ;-)


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
DavidPostill

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

6
@mickburkejnr यह 100000 का तथ्यात्मक है। "वैज्ञानिक दृश्य" 100000 पर स्विच करें और "n!" दबाएं। यह पुराने विंडोज संस्करणों पर अच्छी तरह से काम करता है। आजकल आपको एक चेतावनी मिलेगी कि इस गणना में लंबा समय लग सकता है और आप इसे रद्द कर सकते हैं।
द्विवेदी

25
बस इसे इस्तेमाल करना शुरू करें।
समजी sam ’१

5
उन्नयन का अधिष्ठापन हमेशा मेरे लिए काम किया।
डेनियल आर हिक्स

जवाबों:


230

शायद यह मदद कर सकता है: कीबोर्ड से एक सिस्टम क्रैश को मजबूर करना

USB कीबोर्ड के साथ, आपको रजिस्ट्री में कीबोर्ड-आरंभ किए गए क्रैश को सक्षम करना होगा। रजिस्ट्री कुंजी में HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ kbdhid \ Parameters, CrashOnCtrlScroll नाम का मान बनाएँ, और इसे 0x01 के REG -DWORD मान के बराबर सेट करें।

इन सेटिंग्स को प्रभावी करने के लिए आपको सिस्टम को पुनरारंभ करना होगा।

इसके पूरा होने के बाद, कीबोर्ड क्रैश को निम्नलिखित हॉटकी अनुक्रम का उपयोग करके शुरू किया जा सकता है: सबसे दाहिने CTRL कुंजी को दबाए रखें, और SCROLL LOCK कुंजी को दो बार दबाएं।

या आप एक कांटा बम शुरू कर सकते हैं: यह एसओ प्रश्न देखें

NotMyFault भी है

नोटमीफ़ॉल्ट एक उपकरण है जिसका उपयोग आप अपने विंडोज सिस्टम पर कर्नेल मेमोरी लीक को क्रैश, हैंग और करने के लिए कर सकते हैं। यह डिवाइस ड्राइवर और हार्डवेयर समस्याओं की पहचान करने और उनका निदान करने के तरीके सीखने के लिए उपयोगी है, और आप इसका उपयोग दुर्व्यवहार प्रणालियों पर नीली स्क्रीन डंप फ़ाइलों को उत्पन्न करने के लिए भी कर सकते हैं।


9
ForkBomb और NotMyFault की कोशिश की। लीक तरीकों में से एक मुझे जो चाहिए वह करने लगता है। अन्य उपयोगी नहीं हैं क्योंकि वे रिबूट / शटडाउन को फ्रीज में नहीं लाते हैं। बहुत बहुत धन्यवाद।
hypers

6
CtrlScroll आपको एक BSOD लाता है। चाहे वह डिबगिंग के लिए सिस्टम को जमा देता है या सिर्फ इसे रिबूट करता है, बूट सेटिंग्स पर निर्भर करता है।
ग्रैविटी

51
मेरे कंप्यूटरों के पास आन्ननदाद दुइनी की अनुमति नहीं है। कभी।
corsiKa

25

ऐसा लगता है कि आप एक बाहरी डिवाइस की प्रतिक्रिया का परीक्षण कर रहे हैं जो एक ओएस के लिए अनुत्तरदायी बन रहा है।

यदि आपका हार्डवेयर एक वर्चुअलाइज्ड विंडोज इंस्टाल से जुड़ा हो सकता है, तो आप वर्चुअल मशीन को जितनी बार चाहें उतनी बार रोक सकते हैं और फिर से शुरू कर सकते हैं। वर्चुअलबॉक्स (या अन्य डेस्कटॉप वर्चुअलाइजेशन) वातावरण में वांछित ओएस स्थापित करें, जो भी हार्डवेयर इंटरफेस का उपयोग किया जा रहा है उसे उजागर करें (यूएसबी, ईथरनेट, या जो भी) वीएम को।

तब आप वर्चुअल मशीन को अपनी इच्छानुसार रोक सकते हैं और फिर से शुरू कर सकते हैं ।


24

कम से कम एक पुराने विंडोज संस्करण के तहत (कुछ साल पहले) निम्नलिखित काम किया:

मैंने एक अंतहीन लूप के साथ एक सी प्रोग्राम लिखा:

while(1) {}

... तो मैंने कार्य प्रबंधक में उस कार्यक्रम को "रीयल टाइम प्राथमिकता" दिया (इसमें एक एपीआई भी है जो ऐसा कर सकता है)।

मल्टी-कोर सिस्टम पर मुझे कई बार ऐसा करने की आवश्यकता होगी ताकि प्रत्येक कोर पर एक लूप चल सके ...


39
डाल: अपने CPU कम करते हुए कर रही गर्मी _mm_pause()से #include <immintrin.h>पाश में। यह एक सीपीयू हार्डवेयर निर्देश है, किसी भी प्रकार की "नींद" प्रणाली कॉल नहीं; जहां तक ​​ओएस का संबंध है, आपकी प्रक्रिया सुपरपीआई से अप्रभेद्य है; अंतर सिर्फ इतना है कि लूप चलाते समय सीपीयू कितनी बिजली खर्च करता है।
पीटर कॉर्डेस

5
मुझे यकीन नहीं है कि अगर यह काम करने से खिड़कियों के कर्नेल मोड भागों को रोकता है।
कोडइन्चोस

2
@CodesInChaos: अधिकांश कर्नेल थ्रेड्स सामान्य प्राथमिकता पर चलते हैं। इन CPU और कर्नेल में से एक बहुत ज्यादा किया जाता है।
जोशुआ

एक और तकनीक जिसमें x86 असेंबली ( STI+ HLT) शामिल है: stackoverflow.com/questions/3747847/…
meklarian

3
@ मैक्लेरियन: होना चाहिए CLI; HLT। संभवत: आपको इसे विशेषाधिकार प्राप्त मोड से करना होगा, हालांकि। सिद्धांत रूप में इसे अभी भी एनएमआई या इसी तरह से बचाया जा सकता है।
नैट एल्ड्रेडगे

10

सबसे मजबूत कर्नेल हैंग (यानी, कोई माउस ट्रैकिंग इत्यादि) नहीं होता है, जब कोड कर्नेल मोड में एक अनंत लूप में जाता है, जिसमें रुकावट होती है।

डिवाइस ड्राइवर के साथ इसे प्राप्त करना संभव है, और इससे भी बेहतर, आप ड्राइवर को लिख सकते हैं ताकि यह आपके नियंत्रण में लटका शुरू और बंद हो जाए (यह मानते हुए कि अनंत लूप उस स्थिति का परीक्षण कर रहा है जिसे आप नियंत्रण में हैं)।

इस ड्राइवर को कैसे लिखना और स्थापित करना एक अन्य प्रश्न या तीन का विषय होगा, लेकिन यह दृष्टिकोण मैं ले जाऊंगा।


9

कृपया StackOverflow पर निम्न प्रश्न की जाँच करें जो आपके समान है: कम समय के लिए विंडोज़ को फ्रीज कैसे करें

टीएल; यह ड्रू है कि वहाँ (मज़बूती से) यह करने के लिए कोई रास्ता नहीं है।

फ्रीज करने या विंडोज को हैंग करने के बजाय, शायद आप अपने उपकरणों के साथ संचार को बाधित कर सकते हैं।

मुझे पता नहीं है कि आपके उपकरण क्या हैं और आप इसे कैसे कनेक्ट करते हैं। यदि यह USB या ईथरनेट एडाप्टर है, उदाहरण के लिए, आप इसे आसानी से डिवाइस मैनेजर या अनप्लग में निष्क्रिय कर सकते हैं? यदि आप जबरदस्ती क्रैश करते हैं या सिस्टम को लटकाते हैं तो आप विभिन्न तरीकों से आपके सिस्टम को नुकसान पहुंचा सकते हैं, इसलिए आप जो करते हैं उससे सावधान रहें।


1
यदि मैं सॉफ़्टवेयर परिणामों से संतुष्ट नहीं हूँ तो मैं उपकरणों के भौतिक डिस्कनेक्ट पर विचार करूँगा। धन्यवाद।
हाइपर

5

क्या कर्नेल डिबग मोड एक विकल्प नहीं है?

मैंने इसे विंडोज 7 में स्थापित किया है, और इस उत्तर में जुड़े निर्देश एक्सपी या बाद के संस्करण को निर्दिष्ट करते हैं, इसलिए इसे विंडोज 10 के साथ काम करना चाहिए।

मैंने इसे फायरवायर / 1394 से अधिक सेट किया है , क्योंकि यह मेरी राय में सबसे आसान है। लेकिन आप इसे नेटवर्क या USB (और अधिक ) पर भी कर सकते हैं ।

मूल रूप से,

इन कमांडों को एक उन्नत प्रॉम्प्ट में (एक चैनल को उठाकर n) चलाकर लक्ष्य कंप्यूटर को सेट करें :

bcdedit /debug on
bcdedit /dbgsettings 1394 channel:n

बूट टैब पर जाने msconfigऔर 'उन्नत' बटन का चयन करने के समान है:

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

तब (लक्ष्य कंप्यूटर को रिबूट करने के बाद), लक्ष्य कंप्यूटर के WinDbg की समान बिटनेस का उपयोग करके होस्ट कंप्यूटर पर WinDbg चलाएं।

फिर जब भी आप मेजबान कंप्यूटर से चाहें तो कर्नेल निष्पादन को रोकना बस एक बात है। यदि आप परीक्षण उपकरणों में कुछ अतुल्यकालिक ऑपरेशन है कि यह चल रहा है तो अन्य साधनों की तरह प्रभावी होना चाहिए।


दिलचस्प तरीका है। हालांकि एक दूसरे पीसी की जरूरत है। लेकिन जब संभव होगा कोशिश करेंगे।
hypers

2

मैं नहीं जानता कि क्या यह कुल फ्रीज के रूप में योग्य है क्योंकि माउस कर्सर अभी भी स्क्रीन पर चलता है, लेकिन अगर आपके पास डिवाइस I / O त्रुटियां अधिक विशेष रूप से हार्ड ड्राइव विफलता है, तो विंडोज 7 यूआई अप्रतिसादी हो जाता है। मेरी हार्ड ड्राइवों में से एक SMART और Windows 7 के माध्यम से स्व-आसन्न ड्राइव विफलता की रिपोर्टिंग कर रही थी, लेकिन जब भी मैं इस पर बचाई गई कुछ फ़ाइलों को एक्सेस करने की कोशिश करता तो इसे लटका देता। UI 5 मिनट तक (माउस कर्सर की आवाजाही को छोड़कर) तब तक लॉक रहेगा, जब तक कि वह फ़ाइल को पढ़ नहीं सकता या टाइम-आउट के बाद ड्राइव को डिस्क्राइब नहीं कर सकता। मुझे नहीं पता कि विंडोज टाइमआउट के लिए सिस्टम घड़ी का उपयोग करता है या नहीं, लेकिन शायद अगर आप किसी तरह से उस समय को फ्रीज कर दें जो आप टाइमआउट की लंबाई बढ़ा सकते हैं? हो सकता है कि इससे आपको वहां भाग मिल जाए, लेकिन आपको जिस उत्तर की तलाश है उसका 100% नहीं।


2

संसाधन थकावट के कारण यह बग विंडोज को जल्दी से मुक्त करता है। पुन: पेश करना भी आसान है।

जैसा कि यह पता चला है, यह वास्तव में एक बग है जिसमें कमांड लाइन (अधिक विशेष रूप से cmd.exe) बैच फ़ाइलों को पार्स करती है और सेवा प्रकार के हमले से त्वरित इनकार कर सकती है; निम्न फ़ाइल को बैच फ़ाइल में (नई लाइनों के साथ) डालने से इस बग के कारण बहुत अधिक मात्रा में मेमोरी की खपत होगी (उदाहरण के लिए):

^ nul<^

लंबी कहानी छोटी, जब फ़ाइल के अंत में एक कैरेट होता है, तो फ़ाइल का वास्तविक अंत 'अनदेखा' होता है और फ़ाइल 'रीसेट' को 0 (अनिवार्य रूप से) संभालती है ताकि बैच फिर से पार्स हो जाए (विज्ञापन infinitum)।


2

यहां एक एप्लिकेशन का स्रोत कोड है जिसे मैं अपने डिबगिंग पाठों में उपयोग करता हूं। यह दिखाता है कि उपयोगकर्ता मोड एप्लिकेशन एक प्रकार का DoS अटैक कैसे कर सकता है।

आप देखेंगे कि आपका माउस कर्सर बहुत कम ही चलता है (एक बार मेरी मशीन पर हर ग्यारह सेकंड में)। यदि आप लंबे समय तक प्रतीक्षा करते हैं तो संभावित रूप से आपका पीसी पावर बटन पर प्रतिक्रिया करेगा।

यह एक अंतहीन लूप का उपयोग करके काम करता है और प्रक्रिया ( 0x100"रीयलटाइम") को सर्वोच्च प्राथमिकता देता है और थ्रेड्स ( 15"महत्वपूर्ण समय") के लिए सर्वोच्च प्राथमिकता निर्धारित करता है । यह उनमें से 8 को शुरू करेगा, जो कि i7 कंप्यूटर के लिए पर्याप्त है। यदि आपको अधिक आवश्यकता है, तो लूप को अनुकूलित करें। उनमें से अधिक संभवतः चीजों को और अधिक धीमा कर देगा।

#include "stdafx.h"
#include <windows.h>
#include <string>
#include <sstream>
#include <iostream>

void WasteTime()
{
    int priority = 15;
    ::SetThreadPriority(::GetCurrentThread(), priority);
    while (true)
    {
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    ::SetPriorityClass(::GetCurrentProcess(), 0x100);
    for(int i=0; i<7; i++)
    {
        LPDWORD threadid = 0;
        ::CreateThread(NULL, 64*1024, (LPTHREAD_START_ROUTINE)&WasteTime, NULL, 0, threadid);
        ::Sleep(2000);
    }

    WasteTime();

    return 0;
}

खबरदार है कि इस कार्यक्रम में C ++ में अपरिभाषित व्यवहार है, इसलिए कुछ निश्चित अनुकूलन सेटिंग्स के तहत कंपाइलर पूरी चीज़ को बदल सकता हैExitProcess(0)
बेन वोइगट

@BenVoigt उस मामले में (यानी के साथ g++) यदि -O0पर्याप्त नहीं थे, हो सकता है gcc -Q -O0 --help=optimizers | grep enabled (और हाथों से बचे हुए अनुकूलन को अक्षम करना) ExitProcess(0)समस्या को हल कर सकता है ?
Hastur

@BenVoigt: क्या आप विस्तृत कर सकते हैं कि आप किस हिस्से को अपरिभाषित व्यवहार मानते हैं?
थॉमस वेलर

@BenVoigt IMHO कंपाइलर केवल return 0स्टेटमेंट को ऑप्टिमाइज़ कर सकता है , क्योंकि इसके बाद मौजूद होता है while(true)। संकलक यह पता लगा सकता है कि यह एक अप्राप्य कथन है।
थॉमस वेलर

C ++ भाषा मांग करती है कि हर धागा अंततः प्रगति करता है, जिसे कई प्रकार के अवलोकन योग्य व्यवहार के रूप में परिभाषित किया गया है। क्योंकि अनंत लूप कभी भी अवलोकन करने योग्य प्रगति नहीं करता है, संकलक यह काट सकता है कि यह नहीं पहुंचा है, और न केवल इसे हटा दें, बल्कि इसके ऊपर के सभी कोड निकटतम शाखा में वापस आ जाते हैं।
बेन वोइगट

0

क्या आपने CPU लैटर यूटिलिटी की कोशिश की थी जो प्रोसेस लैस्सो के साथ बंडल की गई है? Ps। मैं बिट्सम के लिए काम नहीं करता हूं।


मुझे लगता है कि आपका मतलब है "क्या आपने कोशिश की है", न कि "क्या आपने कोशिश की"। :)
फेबस्प्रो

@fabspro मुझे लगता है कि "क्या आपने कोशिश की" सही है क्योंकि ओपी ने पहले से ही एक और जवाब स्वीकार कर लिया है, इसलिए मैं जिस घटना का उल्लेख कर रहा हूं ("समस्या को हल करना") अतीत में है, लेकिन कोई यह कह सकता है कि इंटरनेट हमेशा हो रहा है। वैसे भी, यदि आप एक संपादन का सुझाव देते हैं, तो मैं इसे सहर्ष समीक्षा पंक्ति में स्वीकार करने का कार्य सौंप दूँगा। स्रोत: englishforums.com/English/HaveYouTriedOrDid YouTry
zclxb

मुझे लगता है कि अगर उसने समस्या को हल किया होता, तो आपकी जांच उसके उत्तर पर टिप्पणी हो सकती थी - कुछ ऐसा "जब आप अपनी समस्या पर शोध कर रहे थे, तो क्या आप _______ उपयोगिता की कोशिश की गई चीजों में से एक थे?" शायद ... बस बातों का सुझाव दे :)
fabspro

... ट्च :)
beppe9000

huehuehuehuehueue
fabspro

-2

यदि आप वास्तव में अपने पीसी को हैंग करना चाहते हैं, तो यह पूरी तरह से फ्रीज करने का कारण बनता है , बस इसके सभी रैम का उपयोग करें और इसे पेज मेमोरी पर मजबूर करें। यह मात्र ठंड से आगे बढ़ेगा और वास्तव में बस इस तरह की चीज को ओवरलोड करेगा कि आप टास्क मैनेजर का उपयोग भी नहीं कर सकते हैं, कीबोर्ड द्वारा भी नहीं। यहां तक ​​कि जब प्रक्रिया समाप्त हो जाती है, तो पीसी को पुनर्प्राप्त करने में एक लंबा समय लगेगा। (यह सबसे अच्छा है!)

उदाहरण के लिए, आप अपने आप में एक पॉइंटर के साथ एक वर्ग बना सकते हैं, और थोड़ी देर के लूप में, हमेशा के लिए उस कक्षा का एक नया उदाहरण बना सकते हैं, जो पिछले उदाहरण के पॉइंटर में प्रत्येक नए उदाहरण को संग्रहीत करता है। शायद कक्षा में कुछ डबल्स या वैक्टर भी जोड़ दें, ताकि स्मृति का अधिक तेज़ी से उपभोग किया जा सके। तब आपके पास एक टाइमर हो सकता है जो लूप से बाहर निकलता है और सबकुछ को डिकॉन्स्ट्रक्ट करता है; बेशक, आपको इसे ठीक करने के लिए थोड़ा इंतजार करना होगा।


-4

मैं निम्नलिखित कोड के साथ एक बैच फ़ाइल बनाने का सुझाव दूंगा:

@echo off
:x
start cmd.exe
start explorer.exe
start calc.exe
start notepad.exe
start iexplorer.exe
start paint.exe
goto x

यह शायद सबसे आसान और सुरक्षित तरीका है। आप किसी भी विंडोज़ एप्लिकेशन के साथ प्रक्रिया के नाम बदल सकते हैं।


3
यह सबसे अधिक संभावना है कि केवल रैम समाप्त हो जाएगा और हार्ड ड्राइव को थ्रश किया जाएगा। आपके कंप्यूटर चश्मे के आधार पर, यह संभव है कि कंप्यूटर इसके माध्यम से काम करना जारी रखेगा, खासकर जब से सूचीबद्ध कार्यक्रमों में से 4 काफी हल्के होते हैं ( iexplore.exeऔर शायद explorer.exeएक बड़ा प्रभाव होगा)। यह बस मेमोरी हॉगिंग प्रक्रियाओं को स्वचालित रूप से मार देगा।
मूनरुनस्टार

-10
  1. C: \ Windows \ Temp \
  2. सभी का चयन करने के लिए Ctrl-a मारो
  3. मारो मारो

8
इसके लिए आपको कई हज़ारों वस्तुओं की आवश्यकता होगी जो कि बहुत प्रभावी है! मेरा% TEMP% फ़ोल्डर खाली है ...
AlainD

6
हालांकि यह प्रश्न का उत्तर देने का एक वैध प्रयास प्रतीत होता है , यह पूरी तरह से अस्पष्ट है कि ओपी के अनुरोध के अनुसार विंडोज लॉकिंग के परिणाम में यह कैसे माना जाता है। कृपया अपने प्रश्न को यह समझाने के लिए संपादित करें कि यह वही क्यों करेगा जो ओपी चाहता है।
Twisty अभिनय

9
मुझे खेद है कि जिसने भी यह कोशिश की है और उसे इस बात का अहसास नहीं है कि वे दुर्भावनापूर्ण सॉफ़्टवेयर के साथ ड्राइव-बाय डाउनलोड से प्रभावित हुए हैं।
मूनरुनस्टार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.