التابع IO.close_on_exec= في روبي
يعين التابع close_on_exec عند استدعائه بالشكل close_on_exec = bool قيمة الراية close-on-exec إلى القيمة bool المنطقية.
تعيّن روبي الرايات close-on-exec لكل واصفات الملفات (file descriptors) افتراضيًا منذ الإصدار 2.0.0. لذلك، لا تحتاج إلى تعيينها بنفسك. أضف إلى ذلك أنَّه قد يؤدي عدم ضبط الراية close-on-exec إلى حدوث تسرب لواصف الملف إن استخدمت مهمة فرعية أخرى التابعين fork() و exec() (عبر التابع system() على سبيل المثال). إن كنت بحاجة إلى توريث واصف الملفات في عملية فرعية (child process)، فاستخدم وسيط التابع spawn() مثل fd=>fd.
البنية العامة
close_on_exec = bool → true or false
القيمة المعادة
تعاد القيمة المنطقية bool بعد ضبطها إلى الراية close-on-exec.
أمثلة
مثال على استخدام التابع close_on_exec:
f = open("/dev/null")
f.close_on_exec = true
system("cat", "/proc/self/fd/#{f.fileno}") # cat: /proc/self/fd/3: No such file or directory
f.closed? #=> false
انظر أيضًا
- التابع
autoclose?: يتحقق إن كان واصف الملف الأساسي لمجرى معين سيُغلق تلقائيًا عند الانتهاء منه. - التابع
close: يغلق مجرى د/خ، ويرسل (flushes) أي كتابات مُعلّقة إلى نظام التشغيل. - التابع
close_on_exec?: يتحقق إن كانت الرايةclose-on-execالخاصة بالمجرى الذي استدعي معه مضبوطة إلى القيمةtrue.