nohup - Run Commands in the Background - Linux CLI
جدول المحتويات:
- كيفية استخدام قيادة nohup
- تشغيل الأمر في الخلفية
- إعادة توجيه الإخراج إلى ملف
- البدائل
- شاشة
- Tmux
- تبرأ من
- استنتاج
ينفذ أمر
nohup
برنامجًا آخر محددًا كوسيطة ويتجاهل جميع
SIGHUP
(hangup).
SIGHUP
هي إشارة يتم إرسالها إلى العملية عند إغلاق محطة التحكم الخاصة بها.
عادة ، عندما تقوم بتشغيل برنامج عبر SSH ، إذا انخفض الاتصال أو قمت بتسجيل الخروج ، يتم إنهاء الجلسة ، وستتوقف جميع العمليات المنفذة من الجهاز. هذا هو المكان الذي يأتي فيه أمر
nohup
سهل الاستخدام. يتجاهل جميع إشارات hangup ، وستستمر العملية في العمل.
كيفية استخدام قيادة nohup
بناء جملة الأمر
nohup
كالتالي:
nohup COMMAND
لا يقبل الأمر أي خيارات أخرى باستثناء المعيار
--help
و
--help
--version
.
دعنا نلقي نظرة على المثال التالي:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
mycommand
يقوم
mycommand
الأمر
mycommand
في المقدمة ويعيد توجيه إخراج الأمر إلى ملف
nohup.out
. يتم إنشاء هذا الملف في دليل العمل الحالي. إذا لم يكن لدى المستخدم الذي يقوم بتشغيل الأمر أذونات الكتابة إلى دليل العمل ، فسيتم إنشاء الملف في الدليل الرئيسي للمستخدم.
إذا قمت بتسجيل الخروج أو أغلق الجهاز ، فلن يتم إنهاء العملية.
تشغيل الأمر في الخلفية
استخدام
nohup
في المقدمة ليس مفيدًا للغاية لأنك لن تكون قادرًا على التفاعل مع shell حتى يكتمل الأمر.
لتشغيل الأمر في الخلفية ، قم بإلحاق الرمز
&
في نهاية الأمر:
nohup mycommand &
يتضمن الإخراج معرف مهمة shell (محاطًا بأقواس) ومعرف العملية:
25177
يمكنك استخدام معرف الوظيفة لإحضار الأمر إلى المقدمة باستخدام الأمر
fg
.
إذا كنت ترغب في إنهاء العملية لسبب ما ، فاستخدم الأمر
kill
متبوعًا بمعرف العملية:
إعادة توجيه الإخراج إلى ملف
بشكل افتراضي ، يعيد
nohup
توجيه إخراج الأمر إلى ملف
nohup.out
. إذا كنت ترغب في إعادة توجيه الإخراج إلى ملف مختلف ، استخدم إعادة توجيه shell القياسية.
على سبيل المثال ، لإعادة توجيه الإخراج القياسي والخطأ القياسي إلى
mycommand.out
ستستخدم:
nohup mycommand > mycommand.out 2>&1 &
لإعادة توجيه الإخراج القياسي والخطأ القياسي إلى ملفات مختلفة:
nohup mycommand > mycommand.out 2> mycommand.err &
البدائل
هناك العديد من البرامج البديلة التي يمكنك استخدامها لتجنب أمر يتم إنهائه عند إغلاق الجهاز أو فصل الاتصال.
شاشة
الشاشة أو شاشة جنو عبارة عن برنامج متعدد الأطراف يسمح لك ببدء جلسة شاشة وفتح أي عدد من النوافذ (المحطات الافتراضية) داخل تلك الجلسة. ستستمر العمليات التي يتم تشغيلها على الشاشة في العمل عندما لا تكون النافذة الخاصة بها مرئية حتى إذا انفصلت.
Tmux
Tmux هو بديل حديث لشاشة GNU. مع Tmux ، يمكنك أيضًا إنشاء جلسة وفتح نوافذ متعددة داخل تلك الجلسة. جلسات Tmux دائمة ، مما يعني أن البرامج التي تعمل في Tmux ستستمر في العمل حتى إذا أغلقت الجهاز.
تبرأ من
disown
عبارة عن أداة مدمجة تزيل مهمة shell من وظيفة التحكم في shell. على عكس
nohup
، يمكنك استخدام
disown
في العمليات الجارية أيضًا.
استنتاج
nohup
يسمح لك بمنع الأوامر من الإنهاء عند تسجيل الخروج أو الخروج من الجهاز.
قيادة الفرق في لينكس
diff هي أداة مساعدة لسطر الأوامر تتيح لك مقارنة ملفين بسطر. ويمكن أيضا مقارنة محتويات الدلائل.
قيادة دو في لينكس
يقوم الأمر du ، وهو اختصار لاستخدام القرص ، بالإبلاغ عن المقدار المقدر لمساحة القرص المستخدمة بواسطة الملفات أو الدلائل المعطاة. إنه مفيد عمليًا للعثور على الملفات والدلائل التي تتناول كميات كبيرة من مساحة القرص.
قيادة لينكس
يقوم الأمر head بطباعة الأسطر الأولى (10 سطور افتراضيًا) لملف واحد أو أكثر من البيانات أو البيانات المنقولة إلى الإخراج القياسي. في هذا البرنامج التعليمي ، سنشرح كيفية استخدام الأداة المساعدة لرئيس Linux من خلال أمثلة عملية وشروحات مفصلة لخيارات الرؤوس الأكثر شيوعًا.