2009-06-10 18 views
7

मैं उबंटू लिनक्स चला रहा हूं (2.6.28-11-जेनेरिक # 42-उबंटू एसएमपी शुक्र अप्रैल 17 01:57:59 यूटीसी 200 9 i686 जीएनयू/लिनक्स) और ऐसा लगता है कि "उलिमिट - टी "ठीक से काम नहीं करता है। मैं भाग गया:ulimit -t के तहत ubuntu

ulimit -t 1; myprogram

जहां 'myprogram' एक अंतहीन पाश है। मुझे उम्मीद है कि कार्यक्रम 1 सेकंड के बाद बाधित हो जाएगा, लेकिन यह नहीं रुक गया। मैंने लिनक्स फेडोरा इंस्टॉलेशन पर एक ही चीज़ की कोशिश की और यह अपेक्षित के रूप में काम किया।

क्या कुछ विन्यास है जो इसे ठीक से काम करने के लिए सेट किया जाना है?

- TSF

+0

पर इसे करने की कोशिश मैं इसे serverfault पर अंतर्गत आता है नहीं लगता। ऐसा सोचने का क्या कारण है? –

+0

हाँ शायद आप सही हैं मैंने अभी बहुत जल्दी प्रतिक्रिया की है –

उत्तर

16

रूप Tsf ने कहा, समस्या एक bug in kernel 2.6.28 के कारण है। मैं अपना मूल उत्तर छोड़ देता हूं, क्योंकि मुझे लगता है कि यह वैसे भी सहायक हो सकता है।

ulimit मैनपेज से

-t The maximum amount of cpu time in seconds.

क्या ulimit के संबंध में गिना जाता है केवल CPU समय है। इस तरह अपने कार्यक्रम शुरू करने के लिए प्रयास करें:

time myprogram 

कि तुम्हें दिखाता कितना CPU समय यह वास्तव में उपयोग करता है।

मेरा संदेह यह है कि आपके अंतहीन पाश में sleep() और नींद का समय प्रक्रिया के CPU समय में योगदान नहीं देता है।

यह एक दूसरे के बाद हत्या कर दी हो जाता है:

[email protected]:~$ bash 
[email protected]:~$ ulimit -t 1; for ((i=1; 1; i++)); do a=1; done 
Killed 

यह हमेशा के लिए चलाने के लिए लगता है (लेकिन निश्चित रूप से नहीं करता है): इस तरह

[email protected]:~$ bash 
[email protected]:~$ ulimit -t 1; for ((i=1; 1; i++)); do sleep 1; done 

उपाय CPU समय ...

[email protected]:~$ time for ((i=1; i<5; i++)); do sleep 1; done 

... और 5 सेकंड बाद ...

real  0m4.008s 
user  0m0.000s 
sys   0m0.012s 

... केवल 12 एमएस CPU समय का उपयोग किया जाता है।

मैं ubuntu बिना इजाजत Jackalope (9,04)

Linux host 2.6.28-11-generiC#42-Ubuntu SMP 
Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux 
+1

नहीं, मेरे पास मेरे कार्यक्रम में कोई नींद नहीं है। ध्यान दें कि यह फेडोरा के तहत अपेक्षित काम करता है, ताकि यह मेरे उबंटू पर कॉन्फ़िगरेशन समस्या जैसा दिखता हो। – Tsf

+1

मैंने एक ही विषय को एक अलग विषय के तहत पोस्ट किया और इसका जवाब मुझे निम्नलिखित दिशा में दिया गया: https://bugs.launchpad.net/ubuntu/jaunty/%2Bsource/linux/%2Bbug/361508 समस्या बताता है ! – Tsf

+0

धन्यवाद, मैंने आपके उत्तर के शीर्ष पर अपना संकेत जोड़ा। मुझे लगता है कि अगर लोग पहले कर्नेल बग देखते हैं तो यह बेहतर होता है। –