حرف D

العملية الخفية (العفريت)

Daemon

آخر تحديث: 2026-10-06
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

العملية الخفية أو ما يعرف باسم ديمون في نظام لينكس هي برنامج يعمل في الخلفية بهدوء دون أن تراه أو تتفاعل معه بشكل مباشر عبر شاشة أو نافذة. لتقريب الفكرة، تخيل وجود طاقم صيانة وحراسة يعمل داخل مبنى كبير على مدار الساعة؛ هذا الطاقم يراقب كاميرات الأمان، ويضبط درجة حرارة التكييف، وينظم استهلاك الكهرباء تلقائيا دون أن يطلب منه السكان ذلك في كل مرة. في عالم لينكس، تقوم هذه البرامج الخفية بنفس الدور تماما، فهي تبدأ بالعمل غالبا منذ لحظة تشغيل الحاسوب وتستمر في أداء مهام حيوية مثل انتظار طلبات الاتصال بالشبكة، أو جدولة المهام الدورية، أو إدارة الطابعات، أو مراقبة حالة الأقراص الصلبة، وكل ذلك يحدث دون الحاجة لأي تدخل مباشر من المستخدم.

الشرح التقني المتقدم

تعتبر العمليات الخفية (Daemons) حجر الزاوية في استقرار وأتمتة أنظمة لينكس ويونكس. على عكس البرامج التفاعلية التي يطلقها المستخدم وترتبط بواجهة طرفية محددة (TTY)، تعمل العملية الخفية في الخلفية بشكل مستقل تماماً عن جلسات المستخدمين، وغالباً ما يتم إسناد ملكيتها إلى العملية الأم للنظام مثل systemd التي تحمل المعرف رقم 1 (PID 1). جرى العرف التقني في لينكس على إنهاء أسماء هذه البرامج بحرف d للتمييز بينها وبين الأوامر العادية، مثل خدمة الاتصال الآمن sshd وخادم الويب httpd ومدير المهام الزمنية crond.

الخصائص التقنية وآلية العمل في الخلفية

لكي يتحول أي برنامج تقليدي إلى عملية خفية حقيقية داخل بيئة لينكس، فإنه يمر بسلسلة من الإجراءات البرمجية الصارمة لضمان استقلاله التام عن بيئة المستخدم:

- الانفصال عن الطرفية: تتخلى العملية عن أي ارتباط بنافذة الأوامر (Controlling Terminal) لكي لا تتوقف عن العمل عند إغلاق المستخدم للنافذة أو تسجيل خروجه، وتتحول مدخلاتها ومخرجاتها القياسية إلى المسار /dev/null أو إلى نظام السجلات.

- التبعية للنظام مباشرة: تقوم العملية بإنشاء نسخة فرعية منها عبر استدعاء النظام fork() ثم تنهي العملية الأصلية، مما يجعل العملية الجديدة تابعة مباشرة لمدير النظام الرئيسي systemd وتعمل ضمن جلسة مستقلة.

- إدارة السجلات والأحداث: نظراً لعدم وجود شاشة لعرض الأخطاء، تعتمد هذه العمليات على خدمة journald أو ملفات السجلات داخل المسار /var/log لتوثيق حالتها وأي أعطال قد تطرأ أثناء عملها.

إدارة العمليات الخفية عملياً باستخدام (systemctl)

في توزيعات لينكس الحديثة التي تعتمد على systemd، يتم التحكم في العمليات الخفية باعتبارها وحدات خدمة (Service Units) تنتهي بالامتداد .service وتخزن إعداداتها في المسار /lib/systemd/system أو /etc/systemd/system. لعرض حالة عملية خفية مثل خادم الاتصال الآمن والتأكد من عملها في الخلفية، نستخدم الأمر التالي:

أمر فحص الحالة:

sudo systemctl status sshd

لتشغيل العملية الخفية فوراً وضمان إقلاعها التلقائي مع بدء تشغيل النظام في خطوة واحدة، يمكن تنفيذ الأمر التالي:

sudo systemctl enable --now sshd

توضيح الخيارات والأوامر الأساسية للتحكم في العمليات الخفية:

- الخيار start أو stop: يستخدم لتشغيل العملية الخفية أو إيقافها في الجلسة الحالية فقط دون تغيير سلوكها عند إعادة تشغيل الخادم.

- الخيار restart أو reload: يقوم الأول بإيقاف العملية وتشغيلها من جديد، بينما يقوم الثاني بإعادة قراءة ملفات الإعدادات المحدثة دون قطع الاتصالات الحالية متى ما كانت العملية تدعم ذلك.

- استعراض كافة العمليات النشطة: يمكن سرد جميع خدمات وعمليات الخلفية التي تعمل حالياً عبر تمرير الأمر systemctl list-units --type=service --state=running في الطرفية.

- تتبع السجلات اللحظية: لمراقبة مخرجات العملية الخفية وتشخيص أخطائها أثناء عملها، يتم استخدام أداة السجلات عبر الأمر journalctl -u sshd -f لمتابعة الأحداث فور وقوعها.

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

من أهم ممارسات الأمان وتحسين الأداء في خوادم لينكس تقليل عدد العمليات الخفية النشطة إلى الحد الأدنى الضروري فقط؛ إذ إن كل عملية خفية تستهلك جزءاً من الذاكرة العشوائية وقد تفتح منافذ شبكية (Ports) تشكل ثغرة محتملة إذا لم يتم تحديثها باستمرار. احرص دائماً على مراجعة العمليات النشطة دورياً، وقم بتعطيل وإخفاء الخدمات غير المستخدمة نهائياً عبر الأمر systemctl mask لمنع تشغيلها عن طريق الخطأ من قبل برامج أخرى، مع التأكد من ضبط صلاحيات ملفات تعريف الخدمة لتعمل بحسابات مستخدمين محدودة الصلاحيات بدلاً من الحساب الجذري root كلما أمكن ذلك.