الفرق بين المراجعتين ل"Ruby/IO/close on exec-3D"

من موسوعة حسوب
< Ruby‏ | IO
اذهب إلى التنقل اذهب إلى البحث
ط (تدقيق)
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby IO]]
 
[[تصنيف: Ruby IO]]
يعين التعبير <code>close_on_exec =</code> قيمة الراية close-on-exec.
+
يعين التابع <code>close_on_exec</code> عند استدعائه بالشكل <code>close_on_exec = bool</code> قيمة الراية <code>close-on-exec</code> إلى القيمة <code>bool</code> المنطقية.
  
تعيّن روبي الرايات close-on-exec لكل واصفات الملفات (file descriptors) افتراضيًا منذ الإصدار 2.0.0. لذلك لا تحتاج إلى تعيينها بنفسك. أيضاً، قد يؤدي إبطال الراية close-on-exec إلى حدوث تسرب لواصف الملف إن استخدمت [[Ruby/Thread|مهمة فرعية]] أخرى التابعين <code>‎fork()‎</code> و <code>exec()‎</code> (عبر التابع <code>system()‎</code> على سبيل المثال). إن كنت بحاجة إلى توريث واصف الملفات في عملية فرعية (child process)، فاستخدم وسيط التابع <code>spawn()‎</code> مثل <code>fd => fd</code>.
+
تعيّن روبي الرايات <code>close-on-exec</code> لكل واصفات الملفات (file descriptors) افتراضيًا منذ الإصدار 2.0.0. لذلك، لا تحتاج إلى تعيينها بنفسك. أضف إلى ذلك أنَّه قد يؤدي عدم ضبط الراية <code>close-on-exec</code> إلى حدوث تسرب لواصف الملف إن استخدمت [[Ruby/Thread|مهمة فرعية]] أخرى التابعين <code>‎fork()‎</code> و <code>exec()‎</code> (عبر التابع <code>system()‎</code> على سبيل المثال). إن كنت بحاجة إلى توريث واصف الملفات في عملية فرعية (child process)، فاستخدم وسيط التابع <code>spawn()‎</code> مثل <code>fd=>fd</code>.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">close_on_exec = bool → true or false‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">close_on_exec = bool → true or false‎</syntaxhighlight>
==القيمة المُعادة==
+
==القيمة المعادة==
تعاد قيمة منطقية.
+
تعاد القيمة المنطقية <code>bool</code> بعد ضبطها إلى الراية <code>close-on-exec</code>.
  
 
==أمثلة==
 
==أمثلة==
مثال على استخدام التعبير<code>close_on_exec =‎</code>:
+
مثال على استخدام التابع <code>close_on_exec</code>:
 
<syntaxhighlight lang="ruby">f = open("/dev/null")
 
<syntaxhighlight lang="ruby">f = open("/dev/null")
 
f.close_on_exec = true
 
f.close_on_exec = true
 
system("cat", "/proc/self/fd/#{f.fileno}") # cat: /proc/self/fd/3: No such file or directory
 
system("cat", "/proc/self/fd/#{f.fileno}") # cat: /proc/self/fd/3: No such file or directory
 
f.closed?                #=> false‎</syntaxhighlight>
 
f.closed?                #=> false‎</syntaxhighlight>
==انظر أيضا==
+
==انظر أيضًا==
* التابع <code>[[Ruby/IO/close|close]]</code>: يغلق [[Ruby/IO|مجرى د/خ]]، ويرسل (flushes) أي كتابات مُعلّقة إلى نظام التشغيل.
+
* التابع [[Ruby/IO/autoclose-3F|<code>autoclose?‎</code>]]: يتحقق إن كان واصف الملف الأساسي لمجرى معين سيُغلق تلقائيًا عند الانتهاء منه.
* التابع <code>[[Ruby/IO/close_on_exec-3F|close_on_exec?‎]]</code>: يُعيد  القيمة <code>true</code> إن كانت الراية close_on_exec الخاصة ب[[Ruby/IO|مجرى د/خ]] تساوي <code>true</code>.
+
* التابع <code>[[Ruby/IO/close|close]]</code>: يغلق [[Ruby/IO|مجرى د/خ]]، ويرسل (flushes) أي كتابات مُعلّقة إلى نظام التشغيل.
 +
* التابع <code>[[Ruby/IO/close_on_exec-3F|close_on_exec?‎]]</code>: يتحقق إن كانت الراية <code>close-on-exec</code> الخاصة ب[[Ruby/IO|المجرى]] الذي استدعي معه مضبوطة إلى القيمة <code>true</code>.
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-close_on_exec-3D قسم التابع close_on_exec=‎ في الصنف IO‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-close_on_exec-3D قسم التابع close_on_exec=‎ في الصنف IO‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 08:41، 22 ديسمبر 2018

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

مصادر