الجمعة، 6 مايو 2011

خاصية تعدد المهام (multitasking) في bash script

بسم الله الرحمن الرحيم

تستطيع في لغة البرمجة bash script  الخاصة بنظام لينكس أستخدام خاصية تعدد المهام (multitasking) , التي تسمح لك بتنفيذ عدد من الأوامر البرمجية في وقت واحد بدل تنفيذ الأوامر بتسلسل المكتوبة به , مما يسرع عملية التنفيذ و يزيد من أنتاجية البرامج.
  • تشغيل البرنامج في الخلفية:
ببساطة قم بوضع الحرف & بعد الأمر ليتم تنفيذ الأمر في الخلفية و الأنتقال ألى الأمر التالي في السكريبت كالمثال التالي:
wget http://www.example.com/1.pdf & 

  •  منع البرنامج من عرض المعطيات:
في المثال السابق سيتمكن البرنامج من طباعة معطياته للشاشة لمنع هذه الخاصية قم بأستخدام الملف الخاص dev/null/ كالتالي:

find / -name root >/dev/null 2>&1 &
wget http://www.example.com/1.pdf >/dev/null &
ستلاحظ في نهاية الأمر الأول 1&<2 التي تمنع البرنامج من طباعة أي معلومات في حالة حدوث خطأ.

  •  أستخدام الأمر wait :
يمكنك الأمر wait من أيقاف تنفيذ البرنامج ألى أن يتم تنفيذ الأوامر التي في الخلفية "Background" و يمكن أستخدامه كالتالي:

wget http://www.example.com/1.pdf &
wait ${i}

قمنا باستخدام الأمر wait مع المتغير الخاص {i}$  الذي يعني أخر أمر تم تشغيله في الخلفية في المثال التالي سيتم أيقاف تنفيذ البرامج لأنتظار تنفيذ عدد من الأوامر :
wget http://www.example.com/1.pdf &
wget http://www.example.com/2.pdf &
wget http://www.example.com/3.pdf &
wait

في حالة عدم أستخدام أي معامل للأمر wait سيقوم البرنامج بالأنتظار ألى أن سيتم تنفيذ جميع الأوامر الموجودة في الخلفية .

ليست هناك تعليقات:

إرسال تعليق