एक ऐप की घड़ी को तेज़ चलाएँ
30 दिन के ट्रायल को ख़त्म होने में 30 दिन लगते हैं, जब तक आप समय को हिला न सकें। आम सलाह सिस्टम घड़ी को आगे धकेलने की है, जिसके लिए एडमिनिस्ट्रेटर अधिकार चाहिए और जो मशीन के हर दूसरे प्रोग्राम को भी साथ घसीट लेती है। यह इसकी जगह एक प्रोसेस को हिलाता है।
कितना तेज़
एक पूर्ण-संख्या गुणक चुनें। ऐप्लिकेशन की घड़ी असली घड़ी से उतने गुना तेज़ी से आगे बढ़ती है, उस क्षण से जहाँ सत्र शुरू होता है।
| गुणक | एक असली मिनट बन जाता है | किसके काम का |
|---|---|---|
x60 | एक घंटा | घंटे-घंटे के जॉब, सत्र टाइमआउट, टोकन की आयु |
x1440 | एक दिन | दैनिक रोलओवर, आधे घंटे में 30 दिन का ट्रायल |
x43200 | 30 दिन का ट्रायल | यह पढ़ते हुए पूरा ट्रायल ख़त्म होते देखना |
x525600 | एक साल | वार्षिक नवीनीकरण, सर्टिफ़िकेट की समाप्ति |
x1000000 | लगभग 1.9 साल | ऊपरी सीमा |
# अभी के असली समय से शुरू करें, और हर मिनट एक दिन चलाएँ chrono run "C:\apps\test.exe" --mode x1440 # चुनी हुई तारीख़ से शुरू करें और वहाँ से तेज़ करें chrono run "C:\apps\test.exe" --at 2027-12-01T09:00:00 --mode x1440 # इसकी जगह घड़ी को पूरी तरह जमाए रखें chrono run "C:\apps\test.exe" --mode frozen
जहाँ लोग अटक जाते हैं: घड़ियाँ दो हैं
वॉल क्लॉक को तेज़ करना - जो DateTime.Now और उसके समकक्ष लौटाते हैं - अपने-आप काउंटडाउन को तेज़ नहीं करता। ये दो अलग सवाल हैं जो कोई ऐप्लिकेशन ऑपरेटिंग सिस्टम से पूछ सकता है, और बहुत-सा सॉफ़्टवेयर “तीस दिन” को पहले की जगह दूसरे से नापता है।
इसलिए अवधि-अक्ष - टिक की गिनतियाँ, स्लीप, वेट और टाइमर - एक अलग स्विच है:
--scale-durationटिक काउंट, स्लीप और टाइमर को भी सत्र की घड़ी पर ले आता है, जबकि ऑब्जेक्ट पर प्रतीक्षा गिनी जाती है और अपनी असली अवधि रखती है। इसके बिनाx1440कैलेंडर को आगे दौड़ाता है, जबकि पाँच सेकंड का टाइमर अब भी पाँच असली सेकंड लेता है - केवल किसी तय तारीख़ और समय पर सेट टाइमर हर सत्र में सत्र की घड़ी के साथ चलता है।--scale-qpcहाई-रेज़ोल्यूशन काउंटर को अतिरिक्त रूप से स्केल करता है। Python 3.13+ काmonotonic, .NET काStopwatchऔर Java काnanoTimeवहीं से बीता समय पढ़ते हैं, और यह डिफ़ॉल्ट रूप से बंद है क्योंकि उसे स्केल करने से परीक्षण में रेंडरिंग अस्थिर हुई थी।
अगर गुणक काउंटडाउन पर कुछ करता नहीं दिखता, तो लगभग हमेशा यही कारण होता है।
# एक टाइमर ऐप: कैलेंडर और काउंटडाउन दोनों को तेज़ करें chrono run "C:\apps\Timer.exe" --mode x60 --scale-duration # हाई-रेज़ोल्यूशन काउंटर पर बीता समय नापने वाला Python या .NET ऐप chrono run "C:\apps\Job.exe" --mode x60 --scale-duration --scale-qpc
दोबारा शुरू किए बिना गति बदलना
गुणक सत्र के बीच बदला जा सकता है, और घड़ी को दोबारा एंकर किया जाता है, उछाला नहीं जाता, इसलिए गति गिरने पर भी वह कभी पीछे नहीं जाती। आप घड़ी को सीधे छलाँग भी लगवा सकते हैं - आगे, या पीछे, जैसे लैपटॉप टाइम सर्वर से दोबारा सिंक होने के बाद करता है, जो वह मामला है जो बिना सुरक्षा के बीता समय नापने वाली हर चीज़ को तोड़ देता है।
# x60 पर चलाएँ, फिर दो सेकंड बाद x1440 पर बदलें chrono run "C:\apps\test.exe" --mode x60 --set-after 2:1440 # चलाएँ, फिर पाँच सेकंड बाद घड़ी को चुने हुए क्षण पर छलाँग लगवाएँ chrono run "C:\apps\test.exe" --jump-after 5:2028-01-01T00:00:00
यह क्या नहीं करेगा
- यह सिस्टम घड़ी को नहीं छूता। यही मक़सद है, कोई सीमा नहीं - लेकिन इसका मतलब है कि सर्वर, डेटाबेस या किसी दूसरी मशीन से समय पढ़ने वाली कोई भी चीज़ प्रभावित नहीं होती, और जब ऐसा हो तो ऑडिट आपको बता देगा।
- छलांग बदलती है कि ऐप्लिकेशन क्या देखता है, यह नहीं कि वह कब जागता है। कर्नेल को पहले से सौंपे गए स्लीप और टाइमर वही अवधि रखते हैं जो उन्हें सेट करते समय मिली थी। ज़्यादातर ऐप्लिकेशन घड़ी से बार-बार पूछते हैं, इसलिए व्यवहार में छलाँगें काम करती हैं - पर सब में नहीं।
- यह समय को धीमा नहीं करता। गुणक एक या उससे ऊपर की पूर्ण संख्याएँ हैं, और शून्य पर जमी घड़ी।
इनमें से कुछ आपके ऐप्लिकेशन तक पहुँचा या नहीं, यह मान लेने की बात नहीं है। सत्र ख़ुद बताता है →