التابع IO.close_on_exec=
في روبي
يعين التابع close_on_exec=
الراية close-on-exec.
تعيّن روبي الرايات close-on-exec لكل واصفات الملفات (file descriptors) افتراضيًا منذ الإصدار 2.0.0. لذلك لا تحتاج إلى تعيينها بنفسك. أيضاً، قد يؤدي إبطال الراية file descriptors إلى حدوث تسرب واصف الملف إن استخدمت مهه أخرى التابعين 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
: يغلق مجرى د/خios
(انظر فقرة البنية العامة)، ويرسل (flushes) أي كتابات مُعلّقة إلى نظام التشغيل. المجرى لن يكون متاحًا لأي عمليات إضافية على البيانات؛ وفي حال محاولة إجراء مثل تلك العمليات، فسيُطللق الخطأIOError
. يتم إغلاق مجاري د/خ تلقائيًا من طرف جامع المهملات (garbage collector). - التابع
close_on_exec?
: يُعيد القيمةtrue
إن كانت الراية close_on_exec الخاصة بمجرى د/خios
تساوي false.