रीयलटाइम प्रक्रिया को चलाने का सबसे तात्कालिक पहलू यह है कि यह प्रक्रिया सिस्टम की हर दूसरी प्रक्रिया को आसानी से भुना सकती है। आपके दृष्टिकोण से परिणाम यह होगा कि कंप्यूटर कीबोर्ड, माउस और शायद नेटवर्क के लिए पूरी तरह से अनुत्तरदायी है, जब तक कि वास्तविक समय सीपीयू का उपयोग कर रहा है। ऐसा तब हो सकता है जब कुछ गलत हो जाता है और प्रक्रिया एक अनंत लूप में चली जाती है, या अस्थायी रूप से भी अगर प्रक्रिया समय-समय पर इनपुट की प्रतीक्षा किए बिना लंबे समय तक चलने वाली गणना शुरू करती है। (इसलिए, उदाहरण के लिए, वास्तविक समय प्राथमिकता के साथ SETI @ घर न चलाएं।)
मल्टी-कोर सीपीयू पर एक एकल-थ्रेडेड प्रक्रिया इस समस्या का कारण बनने की संभावना कम है क्योंकि अन्य कोर हैं जो निम्न-प्राथमिकता प्रक्रिया का उपयोग कर सकते हैं। लेकिन अगर यह प्रक्रिया किसी भी बच्चे की प्रक्रिया का निर्माण करती है, तो वे समान रीयलटाइम प्राथमिकता प्राप्त करेंगे, इसलिए यदि आप सावधान नहीं हैं तो चीजें नियंत्रण से बाहर हो सकती हैं।
sched_setscheduler(2)
आदमी पेज अच्छी सलाह है:
चूंकि SCHED_FIFO या SCHED_RR के तहत निर्धारित एक प्रक्रिया में एक अनब्लॉकिंग अनंत लूप सभी प्रक्रियाओं को हमेशा कम प्राथमिकता के साथ अवरुद्ध करेगा, इसलिए एक सॉफ़्टवेयर डेवलपर को हमेशा परीक्षण किए गए एप्लिकेशन की तुलना में एक उच्च स्थिर प्राथमिकता के तहत निर्धारित कंसोल पर उपलब्ध होना चाहिए। यह परीक्षण किए गए वास्तविक समय के अनुप्रयोगों की आपातकालीन हत्या को अनुमति देगा जो उम्मीद के मुताबिक ब्लॉक या समाप्त नहीं करते हैं। Getrlimit (2) में RLIMIT_RTTIME संसाधन सीमा का विवरण भी देखें।
यह कंसोल पर एक शेल होना चाहिए - एक Xterm के तहत नहीं, जब तक कि आप सभी एक्स रियलटाइम को प्राथमिकता नहीं देना चाहते।