التابع 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
.