التابع IO.close_on_exec=‎ في روبي

من موسوعة حسوب

يعين التعبير close_on_exec =‎ قيمة الراية close-on-exec.

تعيّن روبي الرايات 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

القيمة المُعادة

تعاد قيمة منطقية.

أمثلة

مثال على استخدام التعبير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‎

انظر أيضا

  • التابع close: يغلق مجرى د/خ، ويرسل (flushes) أي كتابات مُعلّقة إلى نظام التشغيل.
  • التابع close_on_exec?‎: يُعيد القيمة true إن كانت الراية close_on_exec الخاصة بمجرى د/خ تساوي true.

مصادر