دروس الوحدة (2/2)
التحكم في الوظائف والسجلات (bg، fg، tail)
عند استخدام الوحدة الطرفية، قد ترغب في تشغيل أمر طويل المدى دون قفل الصدفة. يدعم Linux التحكم في الوظيفة، والذي يسمح لك بإرسال العمليات إلى الخلفية وإعادتها إلى المقدمة. بالإضافة إلى ذلك، سوف تتعلم كيفية مراقبة السجلات للتحقق مما يحدث على النظام.
تشغيل الأوامر في الخلفية: & وjobs
لبدء أمر مباشرة في الخلفية (تحرير التحكم في الوحدة الطرفية على الفور)، قم بإلحاق حرف & (علامة الضم) بنهاية الأمر:
sleep 1000 &يقوم هذا الأمر بإرجاع رقم المهمة (على سبيل المثال، [1]) وPID.
وظائف القائمة: jobs
يسرد الأمر jobs العمليات النشطة المرتبطة بجلسة Shell الحالية والتي تعمل في الخلفية أو معلقة:
jobsنقل العمليات: fg، bg، و Ctrl+Z
إذا كان الأمر قيد التشغيل في المقدمة ويحظر الوحدة الطرفية، فيمكنك:
- اضغط
Ctrl + Zلتعليق (إيقاف مؤقت) العملية الحالية. - استخدم الأمر
bg(الخلفية) لإعادة تشغيل العملية المعلقة في الخلفية:Bashbg %1 # Restarts job 1 in the background - استخدم الأمر
fg(المقدمة) لإعادة عملية الخلفية إلى المقدمة:Bashfg %1 # Brings job 1 to the foreground
سجلات المراقبة: tail وjournalctl
تسجل سجلات النظام والتطبيقات الأحداث المهمة. في كثير من الأحيان، تحتاج إلى مراقبة هذه الملفات في الوقت الحقيقي أثناء كتابتها.
عرض نهاية الملف: tail
يعرض الأمر tail الأسطر الأخيرة من الملف (القيمة الافتراضية هي 10 أسطر):
tail /var/log/syslog
tail -n 20 /var/log/syslog # Shows the last 20 linesلمراقبة ملف في الوقت الفعلي (على سبيل المثال، لرؤية رسائل السجل التي تم إنشاؤها أثناء اختبار أحد التطبيقات)، استخدم الخيار -f (متابعة):
tail -f logs/server.logجربه بنفسك
التمرين 1: قم بإدراج الوظائف النشطة
اعرض قائمة المهام الحالية (الخلفية أو العمليات المعلقة) في الجلسة الطرفية باستخدام أمر "الوظائف".
إظهار التلميح
استخدم ببساطة أمر "الوظائف".
الحل متاح بعد 3 من المحاولات
التمرين 2: إبراز الوظيفة في المقدمة
قم بإحضار مهمة الخلفية النشطة حاليًا إلى المقدمة باستخدام الأمر "fg".
إظهار التلميح
استخدم الأمر "fg" لإعادة المهمة إلى المقدمة.
الحل متاح بعد 3 من المحاولات
التمرين 3: التحقق من الأسطر الأخيرة من السجل
اعرض الأسطر الأخيرة من ملف السجل الموجود في "logs/server.log" باستخدام الأمر "tail".
إظهار التلميح
استخدم "tail" متبوعًا بمسار الملف: "logs/server.log".
الحل متاح بعد 3 من المحاولات