كيفية استخدام Systemd لسرد الخدمات

تستخدم جميع توزيعات Linux السائدة Systemd ، وهو نظام init يعمل على تمكين وتعطيل ملفات “الخدمة”. إذا كنت تحاول سرد ملفات الخدمة هذه ولكنك لا تعرف كيفية القيام بذلك ، فستحتاج إلى استخدام الأمر systemctl.
في هذا الدليل ، سنتعرف على الطرق المختلفة التي يمكنك من خلالها إدراج ملفات خدمة Systemd على نظام Linux. للبدء ، تأكد من أنك تستخدم نظام تشغيل Linux مع Systemd. ثم افتح نافذة طرفية واتبع ذلك.
استخدم Systemd لسرد الخدمات النشطة
إذا كنت تستخدم Systemd كثيرًا ، في وقت ما ، فقد ترغب في معرفة الخدمات النشطة أثناء تشغيل نظام Linux. يعد سرد الخدمات النشطة أمرًا سهلاً للغاية ، ويمكنك القيام بذلك باستخدام systemctl –type = service systemctl –type = service –state = أمر التشغيل.
سيُظهر هذا الأمر ، عند تشغيله ، جدولاً لجميع الخدمات ، إذا كانت نشطة ، بالإضافة إلى وصف موجز. لتشغيل هذا البرنامج ، افتح نافذة طرفية. بمجرد فتح نافذة Terminal ، قم بتنفيذ الأمر أدناه.
systemctl --type=service --state=running
إذا كنت تحاول التصفية من خلال جميع الخدمات النشطة لخدمة معينة ، فقد يكون البحث من خلال هذا الجدول الكبير مملاً للغاية. لحسن الحظ ، يمكن دمج الأمر systemctl مع الأمر grep كآلية تصفية.
على سبيل المثال ، للتحقق من تشغيل وتحميل “snapd.service” ، يمكنك تشغيل systemctl –type = service –state = running | grep ‘snapd’ ، وسيُظهر الإخراج خدمة Snapd فقط ، بدلاً من الجدول بأكمله.
systemctl --type=service --state=running | grep 'snapd'
إذا كنت ترغب في حفظ إخراج الجدول في ملف نصي لوقت لاحق ، فاستخدم الأمر التالي.
systemctl --type=service --state=runningrunning > ~/active-services.txt
لعرض الملف النصي في أي وقت ، قم بتنفيذ الأمر cat أدناه.
cat ~/active-services.txt
استخدم Systemd لسرد الخدمات غير النشطة
يعد سرد خدمات Systemd النشطة مفيدًا ، ولكن ماذا عن الخدمات غير النشطة؟ نعم ، من الممكن سردها أيضًا. إليك الطريقة. أولاً ، افتح نافذة طرفية.
بمجرد فتح نافذة المحطة الطرفية وجاهزة للاستخدام ، قم بتنفيذ الأمر systemctl –type = service ولكن في الفتحة –state = ، ضع “غير نشط” بدلاً من “قيد التشغيل”. من خلال القيام بذلك ، يمكنك معرفة خدمات Systemd غير النشطة على نظام Linux الخاص بك.
systemctl --type=service --state=inactive
كما هو الحال مع الخدمات النشطة ، سيقوم Systemd بإنشاء جدول جميل وأنيق ويوضح لك خدمات Systemd غير النشطة والميتة وغير المستخدمة. إذا كنت ترغب في التصفية من خلال هذا الجدول لمعرفة ما إذا كانت خدمة معينة قد ماتت ، فيمكنك دمجها مع الأمر grep.
على سبيل المثال ، لتحديد ما إذا كان ملف “updatedb.service” غير نشط ، يمكنك دمج systemctl –type = service –state = inactive مع الأمر grep أدناه للبحث في الجدول عنه.
systemctl --type=service --state=inactive | grep 'updatedb.service'
إذا كنت بحاجة إلى حفظ جميع ملفات خدمة Systemd غير النشطة في ملف نصي لقراءتها لاحقًا ، فاستخدم الأمر التالي.
systemctl --type=service --state=inactive > ~/inactive-services.txt
لقراءة هذا الملف النصي مباشرة من النافذة الطرفية ، استخدم الأمر cat.
cat ~/inactive-services.txt
استخدم Systemd لسرد جميع الخدمات المثبتة
إذا كنت بحاجة لرؤية جميع خدمات Systemd المثبتة ، سواء كانت نشطة أم لا ، فستحتاج إلى استخدام الأمر systemctl list-unit-files –type = service واستبعاد –state command-line switch. باستبعاد –state ، سيكون Systemd قادرًا على سرد كل ملف خدمة على جهاز الكمبيوتر الخاص بك بسهولة.
systemctl list-unit-files --type=service
بمجرد تنفيذ الأمر أعلاه ، سيقوم Systemd بطباعة جدول مع كل ملف خدمة على النظام. من هنا ، يمكنك الفرز من خلال الجدول للعثور على ملف الخدمة الذي تحتاجه.
إذا لم تتمكن من العثور على ملف خدمة محدد ، يمكنك دمج ملف systemctl list-unit-files –type = service command مع الأمر grep لاستخدام عامل التصفية. باستخدام الأمر أدناه ، قم بتصفية الجدول للعثور على ملف الخدمة الذي تحتاجه.
systemctl list-unit-files --type=service | grep 'my-service'
هل تريد تصدير جميع خدمات Systemd إلى ملف نصي لقراءته لاحقًا؟ قم بتنفيذ الأمر التالي.
systemctl list-unit-files --type=service > ~/service-files.txt
يمكنك عرض الملف النصي في أي وقت باستخدام الأمر cat أدناه.
cat ~/service-files.txt
استخدم Systemd لعرض حالة الخدمة الفردية
في حين أنه من المفيد معرفة كيفية سرد جميع خدمات Systemd ، النشطة وغير النشطة ، إلا أنه من المفيد أيضًا معرفة كيفية سرد حالة الخدمات بشكل فردي. هيريس كيفية القيام بذلك.
أولاً ، افتح نافذة طرفية. بمجرد فتح نافذة المحطة الطرفية ، استخدم الأمر systemctl status في خدمة معينة. على سبيل المثال ، للعثور على حالة “NetworkManager.service” ، يتم تشغيل الأمر التالي.
systemctl status NetworkManager
إذا كنت ترغب في تصدير إخراج أمر الحالة إلى ملف نصي لقراءته لاحقًا ، فيمكنك إدخال الأمر أدناه.
systemctl status MyService > ~/MyService-status.txt
لعرض هذا الملف ، قم بتنفيذ الأمر التالي cat.
cat ~/MyService-status.txt