تحتوي كل عملية في Linux تقريبًا على محطة تحكم. ولكن ما هي حتى المحطة الطرفية المسيطرة؟ هيا نكتشف.
ربما تكون قد سمعت بمصطلح "محطة التحكم" المستخدمة فيما يتعلق بعمليات Linux. قد تكون مرتبكًا بشأن ماهية محطة التحكم. لحسن الحظ ، من السهل فهم محطة التحكم.
ما هي محطة التحكم؟
محطة التحكم هي محطة حيث تبدأ عملية Linux. على سبيل المثال ، إذا قمت بتشغيل أمر من shell ، فإن النافذة الطرفية التي أدخلت فيها الأمر هي المحطة الطرفية المسيطرة.
ترث العمليات التي يتم إطلاقها باستخدام محطات التحكم سمات الجهاز الرئيسي. هذا بسبب الطريقة التي يتم بها إطلاق العمليات في Linux. عندما تقوم بتشغيل أمر ، تقوم الصدفة بعمل نسخة من نفسها ، أو "forks" ، ثم تستبدل نفسها بالبرنامج الذي تريد تشغيله ، أو "execs".
كيف ترى العمليات التي لها محطة تحكم
من السهل رؤية العمليات التي لها محطة تحكم في Linux. يمكنك استخدام الأمر ps لرؤيتهم.
يمكنك رؤية جميع العمليات التي تخص جميع المستخدمين على النظام ، سواء كان لديهم محطات تحكم أم لا ، باستخدام "aux" دعوى:
ملاحظة:
نظرًا لأن هذا يولد الكثير من المخرجات على أنظمة Linux ، فقد يكون من المفيد توجيهها إلى جهاز استدعاء ، مثل less:
ps aux | أقل
يمكنك أيضًا عرض الأسطر القليلة الأولى باستخدام الأداة المساعدة للرأس:
ps aux | رأس
في الإخراج ، سترى عمودًا يسمى "TTY". يشير هذا إلى محطة التحكم في العملية ، إذا كانت هناك واحدة. ستعرض العملية التي تحتوي على طرف تحكم "ttyx" حيث "x" هو الرقم النهائي أو "pts" ، متبوعًا بشرطة مائلة (/) ورقم السطر شبه النهائي.
نظرًا لأن معظم المحطات الطرفية هي في الواقع محاكيات طرفية ، فإنها تستخدم pseudoterminals أو PTYs. تشير "النقاط" إلى محاكي طرفي بدلاً من محطة فعلية أو وحدة تحكم افتراضية.
عمليات بدون التحكم في المحطات
في معظم أنظمة Linux ، سيعرض عمود TTY ملف علامة استفهام (?) الشخصية في العديد من العمليات. هذا لأن العملية لا تحتوي على محطة تحكم. لماذا يحدث هذا؟
تشغل أنظمة Linux الكثير من الخدمات أو الشياطين في الخلفية. يمكن أن تكون هذه خوادم ، مثل خادم ويب ، بالإضافة إلى شياطين تقوم بالكثير من الأشياء الأساسية مثل تشغيل اتصال الشبكة. لا تحتاج هذه إلى استخدام محطة طرفية ، لذا فهي تعمل بدونها.
إذا قمت بتشغيل تطبيق رسومي من قائمة بيئة سطح المكتب ، فلن يكون لهذا التطبيق محطة تحكم أيضًا.
تسمح لك معددات الإرسال الطرفية مثل GNU Screen أو tmux بفصل العملية. إذا قمت بتسجيل الخروج مع استمرار تشغيل نظامك ، فقد تجد أن هذه العملية تفتقر أيضًا إلى محطة تحكم.
إذا كانت لديك عملية بدون محطة تحكم تريد التخلص منها ، يمكنك استخدام أداة القتل.
أنت تعرف الآن عن التحكم في المحطات
محطة التحكم هي محطة طرفية قمت بتشغيل أمر منها. من السهل معرفة العمليات التي لها ولا تملك محطة تحكم باستخدام الأمر ps. والعديد من برامج Linux لا تفعل ذلك ، إما لأنها شيطان أو ربما تكون قد فصلتها باستخدام معدد إرسال طرفي.
لا تعمل أجهزة الإرسال المتعددة مثل tmux على استمرار الجلسات الطرفية المحلية عبر عمليات تسجيل الدخول فحسب ، بل إنها أيضًا أدوات قوية لاتصالات SSH عن بُعد.