0Pricing
Linux Command Line & Bash Scripting Mastery · درس

التحكم في المهام (bg، fg، jobs)

أتقنوا إدارة العمليات التي تعمل في الخلفية أو الواجهة الأمامية، وإيقاف المهام مؤقتًا واستئنافها وسردها ضمن جلسة shell.

التحكم في المهام (bg، fg، jobs) درس مجاني في Linux Command Line & Bash Scripting Mastery على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Linux Command Line & Bash Scripting Mastery، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Linux Command Line & Bash Scripting Mastery 4 دروس في المجموع.

ما التحكم في المهام؟

مرحبًا بك في التحكم بالمهام! تتيح لك هذه الميزة القوية في صدفة Linux إدارة البرامج قيد التشغيل دون إغلاق الطرفية أو فتح طرفيات جديدة.

فكّر فيها بوصفها تعددًا للمهام في سطر الأوامر. يمكنك إيقاف مهمة مؤقتًا، أو نقلها إلى الخلفية، أو إعادتها إلى الواجهة الأمامية.

الواجهة الأمامية مقابل الخلفية

عند تشغيل أمر، فإنه يعمل عادةً في الواجهة الأمامية. وهذا يعني أنه يستولي على طرفيتكم، ولا يمكنكم كتابة أوامر جديدة حتى يكتمل تنفيذه.

أما العملية التي تعمل في الخلفية فتعمل بشكل مستقل. وهي تتيح لكم متابعة العمل على مهام أخرى في الطرفية أثناء تنفيذها.

إيقاف عملية مؤقتًا (Ctrl+Z)

لإيقاف عملية الواجهة الأمامية قيد التشغيل مؤقتًا، استخدموا اختصار لوحة المفاتيح Ctrl+Z. فهذا يرسل إشارة SIGTSTP، ما يؤدي إلى تعليق العملية.

لا تنتهي العملية؛ بل تصبح مهمة «متوقفة» في انتظار إخباركم لها بما يجب فعله بعد ذلك.

عرض المهام (jobs)

بعد إيقاف عملية مؤقتًا (أو إرسالها إلى الخلفية)، يمكنكم عرض قائمة بجميع المهام النشطة في جلسة shell الحالية باستخدام الأمر jobs.

تحصل كل مهمة على رقم مهمة فريد (مثل [1] و[2] وغيرهما) وحالتها (مثل Stopped وRunning).

sleep 50 &
sleep 60 &
jobs

إعادة المهمة إلى الواجهة الأمامية (fg)

إذا كانت لديكم مهمة متوقفة أو تعمل في الخلفية، فيمكنكم إعادتها إلى الواجهة الأمامية باستخدام الأمر fg متبوعًا برقم المهمة (مثل %1).

ويجعل ذلك المهمة العملية النشطة في طرفيتكم مرة أخرى.

sleep 100 &
jobs
# Now, let's bring it to foreground
fg %1

إرسال المهمة إلى الخلفية (bg)

لاستئناف مهمة متوقفة وإرسالها إلى الخلفية، استخدموا الأمر bg مع رقم المهمة.

ستتابع العملية تشغيلها من دون حجب الطرفية، وستستعيدون المحثّ مباشرةً.

sleep 200
# Press Ctrl+Z to stop it
# Then type:
bg %1
jobs

التشغيل في الخلفية ( & )

لا تحتاجون دائمًا إلى بدء العملية في الواجهة الأمامية ثم إيقافها مؤقتًا. يمكنكم تشغيل أمر مباشرةً في الخلفية بإضافة علامة العطف (&) إلى نهاية الأمر.

وهذا مفيد جدًا للمهام طويلة التنفيذ التي لا تحتاجون إلى التفاعل معها.

echo "Starting long task..." &
sleep 300 &
jobs

أرقام المهام ومعرّفات العمليات

عند استخدام jobs، تظهر أرقام مهام مثل [1] و[2]. وهذه الأرقام خاصة بجلسة shell الحالية.

ولكل عملية قيد التشغيل أيضًا معرّف عملية (PID) فريد، وهو رقم على مستوى النظام بأكمله. ويمكنكم عرض معرّفات العمليات باستخدام jobs -l أو ps.

sleep 100 &
jobs -l

إيقاف المهام (kill)

لإنهاء مهمة تعمل في الخلفية أو متوقفة، يمكنكم استخدام الأمر kill. ويمكنكم تحديد رقم المهمة (مثل kill %1) أو معرّف العملية (مثل kill 12345).

يرسل kill إشارة إلى العملية. وتكون الإشارة الافتراضية هي SIGTERM (إنهاء تدريجي). وللإنهاء القسري، استخدموا kill -9 %job_number أو kill -9 PID.

sleep 500 &
jobs
# Assuming sleep is job 1:
kill %1
jobs

اختبار التحكم في المهام

لقد بدأتم أمرًا طويل التنفيذ (مثل find / -name *.txt)، لكنكم تحتاجون الآن إلى استعادة الطرفية لكتابة أمر آخر. ما التسلسل الصحيح لإيقاف الأمر find مؤقتًا، ثم إرساله إلى الخلفية ليستمر في العمل، وبعد ذلك التأكد من أنه أصبح مهمة تعمل في الخلفية؟

مراجعة: التحكم في المهام

لقد أتقنتم التحكم في المهام!

  • يوقف Ctrl+Z العملية التي تعمل في الواجهة الأمامية مؤقتًا.
  • يعرض jobs جميع المهام النشطة.
  • يعيد fg %N المهمة N إلى الواجهة الأمامية.
  • يرسل bg %N المهمة المتوقفة N إلى الخلفية.
  • يؤدي إلحاق & بالأمر إلى تشغيله مباشرةً في الخلفية.
  • ينهي kill %N أو kill PID المهمة.

يتيح لكم ذلك إدارة مهام متعددة بكفاءة ضمن جلسة طرفية واحدة!

الأسئلة الشائعة

هل درس «التحكم في المهام (bg، fg، jobs)» مجاني؟

نعم — نص درس «التحكم في المهام (bg، fg، jobs)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Linux Command Line & Bash Scripting Mastery، انتقل إلى CoddyKit PRO. تتضمن دورة Linux Command Line & Bash Scripting Mastery 4 دروس في المجموع.

ماذا ستتعلم في «التحكم في المهام (bg، fg، jobs)»؟

أتقنوا إدارة العمليات التي تعمل في الخلفية أو الواجهة الأمامية، وإيقاف المهام مؤقتًا واستئنافها وسردها ضمن جلسة shell. تتمرن على Linux Command Line & Bash Scripting Mastery مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Linux Command Line & Bash Scripting Mastery؟

لا تُشترط خبرة سابقة. Linux Command Line & Bash Scripting Mastery على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «التحكم في المهام (bg، fg، jobs)»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Linux Command Line & Bash Scripting Mastery هذا؟

نعم. كل درس في Linux Command Line & Bash Scripting Mastery يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التحكم في المهام (bg، fg، jobs)
  2. توسعة Shell والمطابقة الشاملة
  3. الاختصارات والمطالبات المخصّصة
  4. دوال Shell ومقاطع برمجية قابلة لإعادة الاستخدام
← العودة إلى Linux Command Line & Bash Scripting Mastery