إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

كيفية التعامل مع العمليات الجارية | background & forground

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [شرح] كيفية التعامل مع العمليات الجارية | background & forground

    اضغط على الصورة لعرض أكبر.   الإسم:	How-To-List-All-Background-Processes-in-Linux-1.png  مشاهدات:	0  الحجم:	66.3 كيلوبايت  الهوية:	983594
    من المهم فهم أليه عمل العمليات التي يتم تنفيذها في بيئة لينكس والتي تعمل حاليا أمامك forground أو في الخلفية background.

    لكن كيف يمكن التحكم بها ؟
    في بيئة عمل لينكس حين تقوم بتنفيذ أي برنامج يتم تلقائيا إنشاء رقم خاص ID(PID) ليتم تشغيل هذه العملية في الخلفية .

    لنأخذ مثلا بسيطا :
    أمر curl حين ترسل طلب لتنزيل ملف مضغوط من نوع zip من الانترنت فسيتم تشغيله ليعمل أمامك forground وسيتم عرض المخرجات outputs في الترمنال .

    هناك اختصارات معينه للتحكم بالعمليات الجارية forgound او background
    CTRL+Z : إيقاف العملية الجارية حاليا.
    CTRL+C : قتل العملية الجارية حاليا وتفريغ الذاكرة .

    العمليات الجارية في الواجهه Linux Forground Process
    العملية حين تبدأها من سطر الأوامر termianl هي تلقائيا تعمل ك forground process .
    forground process لن تسمح لك بإستخدام سطر الاوامر إلا إذا انتهت هذه العملية.

    من المهم أيضا ملاحظة أن أي عملية يتم إنشائها من خلال الترمنال وفي حالة تم إغلاق الترمنال يتم إنهاء العملية.

    يمكن تخيل الموضوع كالتالي مايتم تشغيله عبر الترمنال يمكن أن تعتبره كفرع والترمنال هو الجذع فإن أنت قطعت الفرع لا تتأثر الشجرة ولكن إن أنت قطعت جذع الشجرة ذاتها فانت بالتالي فأنت قضيت على الغصن .

    لنقل أنك شغلت مثلا الامر التالي :
    كود:
    sleep 10000
    وهو أمر يمكنك إعتبارة ببساطة (فترة إنتظار) فسيظل الأمر معلق في الترمنال حتى ينتهي العد ...
    الآن لدينا عدة خيارات إذا أردنا أن نعمل على الترمنال إما أن نفتح لسان جديد في الترمنال أو الغاء أو إيقاف العملية الجارية على الترمنال عبر CTRL+Z.

    لعرض قائمة بالعمليات الجارية او المتوقفة
    كود:
    jobs -l
    والذي سيعرض عليك العمليات بأرقامها الخاصة ID

    لبدأ أحدى العمليات الموضوعة في قائمة jobs او جلب العمليات العاملة في الخلفية background => forground
    كود:
    fg $ %4
    %4 الناتج من العملية بجوار id

    العمليات العاملة في الخلفية background process
    وهي العمليات التي تعمل في الخلفية ولن تراها إلا إذا أردت ذالك ويمكنك أن تنفيذ أي عملية ووضعها في الخلفية عبر إضافة & في نهاية الأمر .
    مثال
    كود:
    sleep 50000 &
    شغل أمر jobs -l لترى قائمة بالعمليات الجارية في الخلفية .

    يمكنك أن توقف أي job عامل في الخلفية مباشرة عبر
    كود:
    bg %2
    حيث %2 هو الناتج من أمر job بجانب id


    في أمان الله ^_^
    رابط الموضوع الاصلي
    How to Work with Foreground and Background Process in Linux
    التعديل الأخير تم بواسطة فتحي القدسي; الساعة 29-05-2021, 11:54 PM. سبب آخر: تحسين
    •°o.O islamux O.o°•
    أنا إن عشت لنفسي عشت حقيرًهزيلا :::ومهما تعلمت لا أزال جهولا
    "يَوْمَ تَجِدُ كُلُّ نَفْسٍ مَا عَمِلَتْ مِنْ خَيْرٍ مُحْضَرا..الايه(آل عمران:30)

    *****
    إذَا لَمْ تَسْتَطِعْ شيئًا فدَعْهُ = وجاوِزْهُ إلى مَا تَستَطِيعُ
    تلميح اليوم

    FreeBSD في كبسولة !
    لا يطلب العلم مستحي ولا مستكبر
    اللهم اجعل عملنا خالصا لوجهك الكريم.
    فان تجد عيبا فسدَ الخللا ****** جلَ من لا عيب فيه وعلا
    كل مشاركاتي في المجتمع وقف لله تعالى
    Tweeter


  • #2
    نظام لينكس هو نظام متعدد المهام، الكرنل يوفر آلية لجدولة الموارد ويوفر مفاهيم العمليات، لكن مفهوم الخلفية والمقدمة هو مفهوم قشري (shell) يعني المسؤول عنه هو bash أو القشرة التي يستخدمها المستخدم أينما كانت

    مفاهيم القشرة بدأت تتغير مؤخرا وهناك نمن يحاول التخلص من كلاسيكية الاشياء الماضية، ربما نجد تغير في مفهومم الخلفية والمقدمة ربما في السنوات القادمة
    لم تفهم شرحا ما ؟ تحتاج مساعدة تفاعلية في لينكس؟ لديك استفسار ؟آو حتى لديك وقت فراغ؟ تفضل لقناة التواصل الحي http://webchat.freenode.net/?channels=linuxac&prompt=1

    تعليق


    • #3
      المشاركة الأصلية بواسطة os_ مشاهدة المشاركة
      نظام لينكس هو نظام متعدد المهام، الكرنل يوفر آلية لجدولة الموارد ويوفر مفاهيم العمليات، لكن مفهوم الخلفية والمقدمة هو مفهوم قشري (shell) يعني المسؤول عنه هو bash أو القشرة التي يستخدمها المستخدم أينما كانت

      مفاهيم القشرة بدأت تتغير مؤخرا وهناك نمن يحاول التخلص من كلاسيكية الاشياء الماضية، ربما نجد تغير في مفهومم الخلفية والمقدمة ربما في السنوات القادمة
      شكرا لك أخي على إثراء الموضوع
      •°o.O islamux O.o°•
      أنا إن عشت لنفسي عشت حقيرًهزيلا :::ومهما تعلمت لا أزال جهولا
      "يَوْمَ تَجِدُ كُلُّ نَفْسٍ مَا عَمِلَتْ مِنْ خَيْرٍ مُحْضَرا..الايه(آل عمران:30)

      *****
      إذَا لَمْ تَسْتَطِعْ شيئًا فدَعْهُ = وجاوِزْهُ إلى مَا تَستَطِيعُ
      تلميح اليوم

      FreeBSD في كبسولة !
      لا يطلب العلم مستحي ولا مستكبر
      اللهم اجعل عملنا خالصا لوجهك الكريم.
      فان تجد عيبا فسدَ الخللا ****** جلَ من لا عيب فيه وعلا
      كل مشاركاتي في المجتمع وقف لله تعالى
      Tweeter

      تعليق

      يعمل...
      X