روابط سريعة
في أنظمة التشغيل المُستندة إلى Linux و Unix ، يُعرف مثيل الأمر قيد التشغيل باسم “عملية”. يُمكنك تحديد كل عملية من خلال مُعرفها الفريد. يُوفر Linux أدوات سطر الأوامر لسرد هذه العمليات وإدارتها ومُراقبتها بكفاءة.
يُمكنك استخدام هذه الأدوات لتحديد أولويات كل عملية أو وضعها في الخلفية أو في المقدمة لإدارة موارد النظام بكفاءة. تحقق من إيجابيات وسلبيات استخدام نظام Windows الفرعي لـ Linux.
يتضمن هذا الدليل لإدارة العمليات في Linux أدوات مثل ps ، و kill ، و renice ، وأوامر أخرى ستُساعد مسؤول النظام في إدارة العمليات وإدراجها.
سرد قائمة العمليات بأمر ps
أقدم أداة سطر أوامر وأكثرها استخدامًا لسرد العمليات الجارية حاليًا على Linux هي ps
. على الرغم من أنَّ هذا الأمر يُمثل طريقة أخرى تفاعلية وموجهة نحو الشاشة لإدارة عمليات النظام وإدراجها ، يعرض ps أيضًا معلومات إضافية مثل الموارد التي تستهلكها كل عملية.
نظرًا لوجود بيئة مُتعددة المستخدمين ، ترتبط كل عملية في Linux بحساب مستخدم وحساب مجموعة مُنفصلين. ومن ثم ، تُساعدك معلومات الحساب مع تفاصيل العملية في الوصول إلى موارد النظام التي يمكن أن تستخدمها العملية.
على سبيل المثال ، يُمكن للعمليات التي تعمل بامتيازات المستخدم الروت الوصول إلى موارد النظام أكثر من المستخدم العادي ، وهذا هو المكان الذي يُساعد فيه الأمر ps مسؤولي النظام.
الإخراج التالي هو مثال على سرد العمليات بأسماء المستخدمين والوقت المنقضي والذاكرة المرتبطة واستهلاك وحدة المعالجة المركزية:
يُمكنك أيضًا ملاحظة عمود STAT الذي يعرض حالة العملية قيد التشغيل. يُمثل الحرف R العملية قيد التشغيل حاليًا ، و S يُمثل عملية قيد السكون وعلامة زائد تُشير إلى عمليات المقدمة.
يُمكنك سرد كافة عمليات المستخدم الحالي على النحو التالي:
ps ux | less
لسرد العمليات لجميع المستخدمين:
ps aux | less
إدارة العمليات باستخدام مراقب النظام
يُوفر “مراقب النظام” طريقة رسومية لعرض وإدارة العمليات. لبدء تشغيل مراقب النظام ، انتقل إلى التطبيقات -> مراقب النظام
. قم بالتبديل إلى علامة التبويب “العمليات” لعرض كافة العمليات الجارية.
بشكل افتراضي ، يتم عرض العمليات بالترتيب الأبجدي للمستخدم الحالي. يُمكنك إعادة فرز قائمة العمليات بالنقر فوق أي عنوان عمود. بالإضافة إلى ذلك ، يُمكنك النقر فوق عناوين وحدة المعالجة المركزية والذاكرة لعرض العمليات التي تستهلك المزيد من طاقة المعالجة والذاكرة.
يُتيح لك “مراقب النظام” إدارة العمليات بطرق مختلفة ، مما يعني أنه يمكنك إيقاف أولوية العملية وقتلها ومتابعتها وإنهائها وتغييرها بمجرد النقر بزر الماوس الأيمن فوق اسم العملية.
إنه أفضل خيار لمُستخدمي Linux المُبتدئين الذين لا يعرفون كيفية العمل مع أدوات سطر الأوامر. تحقق من 3 من أفضل أدوات مراقبة النظام لنظام التشغيل Ubuntu.
العمل مع عمليات الخلفية / المُقدمة
يأتي وقت يتعين عليك فيه الوصول إلى نظام Linux عبر الشبكة باستخدام سطر الأوامر فقط. هذا يحد من الإدارة الفعالة للتطبيقات النشطة المُتعددة. لكن أداة Shell تسمح لك بإدارة التطبيقات عن طريق تبديلها إلى الخلفية والمُقدمة.
كيفية بدء عملية الخلفية
لبدء تطبيق بينما تستمر في العمل في shell ، قم بتشغيل الأمر ، وإيقافه ووضعه في الخلفية باستخدام Ctrl + Z
. لتشغيل تطبيق مباشرةً في الخلفية ، أضف علامة “&” في نهاية الأمر ، على النحو التالي:
find /usr > /tmp/allusrfiles &
قم بتدوين رقم الوظيفة ومُعرِّف العملية. ضع في اعتبارك أنه لا يمكنك تشغيل الأوامر التي تتطلب إدخالًا طرفيًا في الخلفية.
يُمكنك استخدام أمر jobs
لعرض جميع التطبيقات / العمليات التي تعمل في الخلفية أو تلك التي أوقفتها (باستخدام Ctrl + Z
).
jobs
كيفية استئناف عمليات المقدمة والخلفية
لمواصلة عمل قُمت بوضعه في الخلفية ، استخدم الأمر fg
، وسوف يقوم بإحضار العملية إلى المقدمة.
fg %<job-number>
وبالمثل ، إذا قمت بإيقاف تشغيل عملية ما في الخلفية ، فيُمكنك إعادة تشغيلها مرة أخرى في الخلفية باستخدام الأمر bg
، على النحو التالي:
bg %<job_number>
قتل العمليات على Linux
تمامًا كما تسمح لك أداة رسومية مثل “مراقب النظام” بقتل وإيقاف ومتابعة العملية ، يُمكنك أيضًا استخدام أدوات سطر الأوامر مثل kill
و killall
لإرسال إشارة إلى عملية قيد التشغيل.
بصرف النظر عن قتل العملية ببساطة ، يُساعد أمر kill
أيضًا في إرسال إشارات مختلفة لإدارة سلوكيات العملية. تحقق من أفضل الطرق لإغلاق وقتل التطبيقات التي لا تستجيب في Linux.
يُمكنك استخدام أسماء أو أرقام لاستخدام إشارة.
kill -signalnumber <process-id> kill -signalname <process-id>
على سبيل المثال ، تُرسل الأوامر التالية إشارة SIGKILL
إلى عملية باستخدام PID 1987:
kill -9 1987 kill -SIGKILL 1987
إشارات العملية الأكثر استخدامًا هي:
- SIGKILL (9): قتل العملية على الفور.
- SIGTERM (15): إنهاء العملية.
- SIGSTOP (19/28/25): إيقاف العملية.
- SIGCONT (19/28/25): تواصل العملية بعد أن تتوقف.
- SIGUP (1): إخبار العملية بقراءة ملف التكوين الخاص بها.
لاحظ أنَّ العمليات المُختلفة تستجيب بشكل مُختلف لهذه الإشارات لكنها لا تستطيع إيقاف إشارات SIGSTOP
و SIGKILL
. اكتب الأمر التالي لقراءة المزيد عن هذه الإشارات:
man 7 signal
تجديد العمليات على Linux
تُعطي نواة Linux الأولوية للعمليات الجارية وتعيين موارد النظام من خلال مراعاة امتيازات حساب المستخدم. تُعتبر النواة أيضًا عاملاً آخر ، وهي القيمة “اللطيفة” لكل عملية قيد التشغيل.
القيمة اللطيفة الافتراضية لعملية ما هي صفر ، ولكن يُمكنك تعيين النطاق بين -20 إلى 19. بعض الحقائق حول تعيين أولوية العملية بقيم لطيفة وجديدة هي:
- العملية ذات القيمة الجيدة المُنخفضة لديها وصول أكبر إلى موارد وحدة المعالجة المركزية.
- يُمكن للمستخدم العادي فقط إعادة ترتيب أولويات عملياته.
- يُمكن للمستخدم العادي فقط تعيين القيم بين -20 و 19 ، ويُمكنه فقط تعيين قيمة أعلى.
- يُمكن للمستخدم الروت ضبط عمليات أي شخص على أي قيمة ، عالية أو منخفضة.
أصبحت إدارة العمليات على Linux سهلة
تحتوي البيئة مُتعددة المُستخدمين على العديد من العمليات التي تتطلب معرفة كافية بإدارة موارد النظام لمنع الاختناقات وقيود النظام. يتضمن جزء من المهمة إدارة العمليات عن طريق تشغيلها في الخلفية / المُقدمة ، وقتلها أو تجديدها.
يُمكنك أيضًا التعرف على أفضل أداة مساعدة للأوامر لعرض العمليات وفرزها وتعلم إنهاء العمليات غير المُستجيبة على Linux. يُمكنك الإطلاع الآن على نصائح أساسية لمستخدمي Ubuntu Linux المُتقدمين.