Kelemahan paling langsung dari menjalankan proses realtime adalah bahwa proses tersebut dapat dengan mudah menghabiskan setiap proses lainnya pada sistem. Hasil dari sudut pandang Anda adalah bahwa komputer benar-benar tidak responsif terhadap keyboard, mouse, dan mungkin jaringan, selama proses waktu nyata menggunakan CPU. Ini bisa terjadi jika ada yang salah dan prosesnya menjadi infinite loop, atau bahkan sementara jika proses memulai perhitungan berjalan lama tanpa menunggu input secara berkala. (Jadi, misalnya, jangan jalankan SETI @ home dengan prioritas waktu nyata.)
Proses single-threaded tunggal pada multi-core CPU cenderung menyebabkan masalah ini karena ada core lain yang dapat digunakan proses prioritas rendah. Tetapi jika proses itu menciptakan proses anak, mereka akan mewarisi prioritas waktu nyata yang sama, sehingga hal-hal dapat di luar kendali jika Anda tidak hati-hati.
The sched_setscheduler(2)
Halaman manusia memiliki nasihat yang baik:
Karena nonblocking infinite loop dalam proses yang dijadwalkan di bawah SCHED_FIFO atau SCHED_RR akan memblokir semua proses dengan prioritas yang lebih rendah selamanya, pengembang perangkat lunak harus selalu tetap tersedia di konsol, sebuah shell yang dijadwalkan dengan prioritas statis yang lebih tinggi daripada aplikasi yang diuji. Ini akan memungkinkan penghentian darurat dari aplikasi real-time teruji yang tidak memblokir atau menghentikan seperti yang diharapkan. Lihat juga deskripsi batas sumber daya RLIMIT_RTTIME di getrlimit (2).
Itu harus menjadi shell pada konsol - bukan di bawah Xterm, kecuali jika Anda ingin memberikan semua prioritas realtime X juga.