Theme
Primary Color

انتظار عملية في الخلفية وقراءة نتيجة خروجها

تشغيل أمر في الخلفية لا يعني أنه انتهى بنجاح ولذلك نستخدم wait لمعرفة النتيجة

نفذ المثال بإستخدام Bash داخل مجلد تدريب جديد تملكه على GNU/Linux والأوامر لا تحتاج sudo

المثال العملي

bash -c 'exit 7' &
child=$!
if wait "$child"; then
  printf 'Success\n'
else
  status=$?
  printf 'Exit: %s\n' "$status"
fi

النتيجة

Exit: 7

المتغير $! يحفظ معرف آخر عملية خلفية و wait يرجع حالة خروجها والتي حفظناها قبل تنفيذ أمر آخر

جرب بنفسك

غير exit 7 إلى exit 0 ولاحظ انتقال التنفيذ إلى فرع النجاح

linux شرح