يتيح تشغيل أوامر Linux في الخلفية للمستخدم متابعة تنفيذ المهام الأخرى أثناء استمرار تشغيل الأمر. لتشغيل أمر في الخلفية ، هناك عدة طرق ؛ إحدى الطرق البسيطة هي إضافة علامة العطف (&) في نهاية سطر الأوامر.
بمجرد تعيين العملية للعمل في الخلفية ، يمكننا الوصول إليها باستخدام ملف وظائف يأمر. تعرض هذه المقالة جميع الطرق المختلفة لتشغيل أمر في الخلفية.
قائمة الطرق المختلفة لتشغيل عملية الخلفية كما يلي:
فيما يلي تفاصيل جميع الطرق لتشغيل عملية الخلفية:
1: استخدام علامة العطف (&)
في Linux Ampersand (&) هو عامل قشرة يرسل أمرًا في الخلفية كعملية منفصلة. من خلال الجمع بين علامة العطف (&) وأمر ، سيتم تنفيذه كعملية في الخلفية ، مما يسمح للقذيفة بمواصلة معالجة الأوامر الأخرى على الفور.
بناء الجملة لعملية الخلفية باستخدام علامة Ampersand:
$ [ يأمر ] &
يُضاف رمز علامة العطف دائمًا في نهاية الأمر مع ترك مسافة واحدة بينهما '&' وآخر شخصية للقيادة.
على سبيل المثال ، قم بإنشاء عملية سكون لمدة 40 ثانية.
$ ينام 40
كما نرى ، تقوم المحطة بتشغيل أمر السكون ولا تسمح لنا بأداء أي مهمة أخرى.
الآن اضغط 'Ctrl + Z' لوقف هذه العملية. بعد ذلك ، سنقوم بتشغيل نفس أمر السكون هذه المرة ولكن باستخدام عامل علامة العطف معها سيتم إعداده في الخلفية.
الآن هذه العملية في الخلفية. لسرد عملية التشغيل في الخلفية ، استخدم:
اقتل الآن عملية الخلفية هذه باستخدام:
على سبيل المثال ، لقتل عملية تشغيل النوم الحالية ، استخدم:
الآن تم إنهاء عملية النوم لتأكيد قائمة عملية تشغيل الخلفية باستخدام.
هنا مثال آخر على استخدام & علامة العطف علامة بأمر gedit.
على سبيل المثال ، إذا فتحنا محرر نصوص gedit مباشرة باستخدام المحطة الطرفية ، فسنكون ملزمين باستخدام shell لأعمال أخرى وإلا سنحتاج إلى إيقاف العملية الحالية أولاً.
$ gedit
سيؤدي استخدام الأمر أعلاه إلى فتح محرر النصوص الذي سيفتحه أمام الجهاز.
ولكن بعد استخدام '&' في نهاية أمر gedit ، يمكن استخدام shell مجانًا في العمليات الأخرى:
2: استخدام الأمر 'bg'
الأمر bg هو الطريقة الثانية لتشغيل الأوامر في الخلفية. يسمح هذا الأمر للمستخدم بمواصلة العمل في الجهاز أثناء تشغيل العملية في الخلفية ، مما يؤدي إلى تحرير الجهاز لمهام أخرى. يتم استخدام الأمر bg لعملية خلفية طويلة تعمل حتى إذا قام المستخدم بتسجيل الخروج.
مثل علامة العطف ، لا داعي للقلق بشأن إضافتها إلى الأمر في كل مرة فقط أرسل نص bg إلى المحطة. سيبدأ تشغيل العملية في الخلفية وتحرير الجهاز لاستخدامه في المستقبل.
على سبيل المثال ، دعنا نستخدم المثال السابق ونرسل أمر النوم باستخدام:
$ ينام 40
الآن العملية قيد التشغيل والمحطة غير متاحة للاستخدام. لاستخدام الأمر bg وإرسال هذه العملية في الخلفية ، يجب أولاً إيقاف عملية التنفيذ الحالية بالضغط 'Ctrl + Z' وتنفيذ هذا الأمر:
بعد إرسال الأمر bg ، بدأت عملية السكون مستمرة في الخلفية. يمكننا أن نرى علامة العطف '&' في النهاية ، مما يشير إلى أن العملية الحالية تعمل في الخلفية.
للتحقق من عملية الخلفية ، قم بتشغيل الأمر:
للتحقق من الأمر الذي يعمل في الخلفية ، استخدم:
لقتل العملية الحالية ، استخدم معرف وظيفتها مع أمر القتل. للتحقق من معرّف المهام ، قم بتشغيل:
بعد معرفة عملية قتل معرف الوظائف باستخدام:
على سبيل المثال ، لقتل عملية النوم الجارية ، استخدم:
لتأكيد ما إذا كانت العملية قد توقفت أم لا ، قم بتشغيل الأمر jobs:
يمكننا أن نرى أن عملية النوم لم تعد تعمل في الخلفية:
3: استخدام أمر nohup
أمر nohup هو الثالث في قائمتنا لعمليات تشغيل الخلفية في Linux. يرمز الأمر إلى 'no hang up' ويستخدم لمنع إنهاء العملية حتى تنتهي الجلسة الطرفية. عندما يتم تنفيذ عملية باستخدام nohup ، فإنها تستمر في العمل حتى إذا قام المستخدم بتسجيل الخروج ، ويتم إعادة توجيه ناتج العملية إلى ملف يسمى 'nohup.out' .
أمر nohup لإجراء ping google بشكل مستمر في الخلفية هو ويتم إعادة توجيه الإخراج إلى ملف نصي GooglePing.txt:
$ nohup بينغ جوجل كوم > GooglePing.txt &
بعد كتابة هذا الأمر ، يمكننا أن نرى أن المحطة الطرفية مجانية ويتم تشغيل عملية خلفية لإجراء اختبار ping على google باستمرار في الخلفية.
للوصول إلى ملف السجل ، يمكننا استخدام الأمر التالي:
يمكن أيضًا الوصول إلى ملف السجل باستخدام واجهة المستخدم الرسومية من الشاشة الرئيسية.
4: استخدام أمر التنصل
يقوم الأمر disown بإزالة عملية من الغلاف وتشغيلها في الخلفية. عندما يتم التنصل من عملية ما ، فإنها لم تعد مرتبطة بالجهاز وتستمر في العمل حتى بعد أن يقوم المستخدم بتسجيل الخروج أو إغلاق الجهاز.
في السابق ، استخدمنا أمر علامة العطف '&' الذي يرسل العملية في الخلفية بعد تنفيذها ولكن عندما نغلق الصدفة ، يتم إنهاء العملية. للتخلص من أمر التنصل هذا موجود.
لا يمكن أن يعمل الأمر disown بشكل مستقل ولكن يجب تشغيل عملية واحدة على الأقل في الخلفية.
قم بتشغيل الأمر أدناه بملحق & علامة العطف التي سترسل الأمر إلى الخلفية.
$ بينغ جوجل كوم > GooglePing.txt &
بعد إنشاء الملف يمكننا إدراجه باستخدام الأمر jobs.
تعمل عمليتنا الآن في الخلفية لفصلها عن الاستخدام الطرفي:
قم بتشغيل الأمر jobs مرة أخرى لتأكيد فصل العملية عن Terminal:
نظرًا لأن عمليتنا قيد التشغيل حاليًا ولكنها لم تعد تظهر داخل الجهاز:
لتأكيد عمليتنا ، يمكننا استخدام الأمر cat للوصول إلى ملف ping:
لقد نجحنا في فصل هذه العملية عن الجهاز ولكنها لا تزال تعمل في الخلفية.
5: استخدام الأداة المساعدة tmux
Tmux هو نوع من فائدة معدد الإرسال الطرفي. باستخدام tmux ، يمكننا إنشاء جلسات طرفية متعددة داخل غلاف واحد. يوفر القدرة على تشغيل العمليات في الخلفية.
لتشغيل عملية خلفية في Tmux ، يمكنك إنشاء جلسة جديدة ثم فصلها باستخدام مجموعة المفاتيح Ctrl-b متبوعة بـ d.
لتثبيت الأداة المساعدة tmux على Ubuntu و Linux mint ، استخدم:
$ سودو ملائم ثَبَّتَ تمكس
للتثبيت على Fedora قم بتشغيل:
للتثبيت على Arch Linux ، قم بما يلي:
الآن قم بتشغيل الأمر tmux لفتح محطة طرفية جديدة:
لإنشاء جلسة tmux جديدة ، استخدم:
لسرد جميع استخدامات جلسات tmux:
لقتل جلسة tmux ، استخدم الأمر على النحو التالي:
على سبيل المثال ، للقتل '0' استخدام جلسة tmux:
هنا قمنا بإدراج جلسة tmux active قيد التشغيل الحالية وقتلها باستخدام الأمر أعلاه:
-
- للفصل من جلسة tmux ، اضغط 'Ctrl + B + D' .
- للحصول على قائمة بجميع الأوامر ، اضغط 'Ctrl + B +؟' .
- للتبديل بين نوافذ tmux اضغط 'Ctrl + B + O' .
لتقسيم طرف tmux عموديًا ، اضغط على 'Ctrl + B' واكتب ٪ .
للعودة إلى المحطة الرئيسية من تمكس يستخدم:
خاتمة
يعد تشغيل تطبيقات الخلفية في Linux ميزة قوية تتيح للمستخدمين الاحتفاظ بمهامهم طويلة الأمد قيد التشغيل حتى بعد تسجيل الخروج من الجهاز أو إغلاق النافذة. عادة علامة العطف و علامة أو bg يتم استخدام الأمر لإرسال عملية في الخلفية. ومع ذلك ، يمكننا أيضًا استخدام nohup أو تبرأ من أمر لفصل عملية عن المحطة. أخيرًا ، يمكننا استخدام ملف فائدة tmux لإنشاء محطات متعددة وتشغيل العمليات في الخلفية دون إزعاج الجهاز.