خصم 50% جميع الخطط، لفترة محدودة. ابتداء من $2.48/mo
10 دقائق متبقية
الخوادم ونظام التشغيل

إتقان إدارة العمليات – أمر Linux ps aux

أدا لوفجود By أدا لوفجود 10 دقائق قراءة تم التحديث في 11 يوليو 2024
أمر لينكس ps aux

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

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

فهم إدارة العمليات في لينكس

عند العمل مع Linux، تكون معظم تفاعلاتنا مع النظام في شكل أوامر. في Linux، العملية هي تنفيذ أمر. تتضمن إدارة عمليات Linux معالجة العمليات التي بدأها الأمر. يمكنك إنهاء عملية، أو بدء عملية، أو استئناف تلك العمليات التي تم إنهاؤها. يمكنك أيضًا التعامل مع الأوامر الجاري تنفيذها.

هناك نوعان من عمليات Linux:

  • العمليات الأمامية
  • عمليات الخلفية

العمليات الأمامية لينكس

العملية الأمامية هي عملية يتم تنفيذها بشكل نشط وتتطلب عادةً تفاعلًا مستمرًا وفي الوقت الفعلي مع المستخدم. عندما تكون العملية الأمامية قيد التنفيذ، يتم إيقاف تنفيذ العمليات الأخرى مؤقتًا. لذلك، لا يمكنك تشغيل أي أوامر أخرى. تتلقى العملية الأمامية مدخلات من لوحة المفاتيح كمدخل قياسي أو stdin. من أجل منع المزيد من الالتباس، فإن stdin وstdout عبارة عن تدفقات بيانات Linux بالإضافة إلى stderr. إنها في الأساس كيفية تفاعل المستخدم مع العملية وتوفير البيانات لها. هناك مخرجات قياسية أو stdout يتم إنتاجها بواسطة العملية بناءً على وظائفها والمدخلات. العمليات الأمامية هي الوضع الافتراضي للتنفيذ في Linux.

عمليات خلفية لينكس

العمليات الخلفية هي عكس العمليات الأمامية تمامًا لأنها لا تتطلب تفاعل المستخدم ولا تشغل حصريًا المساحة الكاملة للمحطة، مما يسمح بتنفيذ العمليات الأخرى. يختلف أيضًا نوع المدخلات والمخرجات للعمليات الخلفية. إنهم لا يأخذون عادة stdin. ومع ذلك، يمكن عرض نتائج العملية كـ stdout. يتم عرض مخرجات العمليات الخلفية بشكل متزامن مع مخرجات العمليات الأمامية الأخرى. حتى تتمكن من رؤية التقدم أو نتائج عملية الخلفية دون مقاطعة الإجراءات المهمة الأخرى.

نظرًا لأن تنفيذ مجموعة واسعة من المهام في Linux يعتمد على سطر الأوامر، فقد تكون العمليات الأمامية مزعجة، بينما يؤدي تشغيل العمليات في الخلفية إلى تحرير جهازك الطرفي من العمل على مهام أخرى. لذا، فإن وضع مهمة في المقدمة في الخلفية يعد أمرًا معقولًا للقيام به هنا. بغرض إرسال عملية إلى الخلفية يجب عليك أولاً إيقاف تنفيذه في المقدمة. ويتم ذلك ببساطة عن طريق الضغط على CTRL+Z. ثم عن طريق كتابة الأمر bg، سيتم إعادة تشغيل العملية التي تم إنهاؤها في الخلفية. سيقوم الأمر fg بعكس العملية وإحضارها إلى المقدمة.

حالة العملية؛ بناء الجملة والأوامر وتفسير الإخراج

تتطلب الإدارة الفعالة للعمليات في Linux فهم حالة العمليات التي يمكن مراقبتها بواسطة الأمر ps aux. ولكن قبل التعمق في الأمر ps aux، دعنا نتعرف على حالات العملية المختلفة. على الرغم من وجود عدة أنواع من العمليات وحالات العمليات، إليك جدول بأكثرها شيوعًا:

حالة العملية وصف
الجري (ص) العملية قيد التشغيل حاليًا وتستهلك موارد وحدة المعالجة المركزية.
نائم قابل للمقاطعة (S) تنتظر العملية إدخالاً أو حدثًا محددًا لبدء التشغيل مرة أخرى. لا يستخدم حاليًا موارد وحدة المعالجة المركزية. وعندما تتوفر الموارد، أو يتم إعطاء الإشارات، تبدأ العملية مرة أخرى.
غير منقطع (د) تمامًا مثل العملية التي تكون في وضع السكون غير المنقطع، فإن عملية السكون غير المنقطع لا تستخدم موارد وحدة المعالجة المركزية. والفرق الوحيد هو أنها لا تتفاعل مع الإشارات، ولا تعود إلى الحياة إلا عندما تتوفر الموارد.
توقف (ت) لقد أدى إدخال المستخدم أو حدث معين إلى إيقاف العملية مؤقتًا. لا تستخدم العملية في حالة التوقف أي موارد لوحدة المعالجة المركزية.
ميت (X) تم إنهاء العملية ولم تعد موجودة.

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

بناء الجملة والأوامر للحصول على حالة العملية

يمكنك الحصول على حالة العملية في Linux باستخدام الصيغة الأساسية للأمر ps:

ps [process name]

هناك أيضًا خيارات أخرى مستخدمة مع الأمر ps:

مساعد: يعرض هذا الخيار قائمة شاملة بجميع العمليات الجارية على النظام. فهو يوفر معلومات مثل معرفات العملية (PIDs) ومعرفات العملية الأصلية (PPIDs) واستخدام وحدة المعالجة المركزية والذاكرة وحالات العملية. يعد الإخراج الذي يوفره الأمر ps aux أكثر دقة، ويتمتع بسهولة قراءة أكبر، ويحتوي على الكثير من المعلومات المفيدة أكثر من الأمر ps الأساسي.

إف: يعرض هذا الخيار قائمة كاملة التنسيق للعمليات مع تفاصيل إضافية، بما في ذلك التسلسل الهرمي للعملية كبنية تشبه الشجرة.

l: يوفر هذا الخيار تنسيق قائمة طويلة، ويقدم معلومات أكثر تفصيلاً حول العمليات.

فهم الإخراج

عند تنفيذ الأمر ps بالخيارات المطلوبة، فإنه يقوم بإنشاء مخرجات تمثل العمليات الجارية حاليًا على نظامك. يتكون الإخراج من أعمدة تعرض سمات عملية مختلفة، بما في ذلك معرف العملية (PID)، ومعرف العملية الأصلية (PPID)، واستخدام وحدة المعالجة المركزية (CPU)، واستخدام الذاكرة، وحالة العملية، ونوع المحطة الطرفية، واسم الأمر.

وفيما يلي شرح لما يعنيه كل عمود من هذه الأعمدة:

معرف المنتج: يعرض هذا العمود المعرف الفريد للعملية.

الهاتف النصي: يعرض هذا العمود نوع الجهاز الذي قام المستخدم بتسجيل الدخول إليه.

وقت: يعد هذا العمود مؤشرًا لمدى استخدام وحدة المعالجة المركزية (CPU) في هذه العملية في دقائق وثواني.

كمد: يمثل هذا العمود اسم الأمر الذي بدأ هذه العملية.

يمنحك تحليل المعلومات المقدمة بواسطة الأمر ps فكرة أعمق عن سلوك جهاز Linux الخاص بك.

تقنيات ps المتقدمة لإدارة العمليات باستخدام الأمر ps

دعنا نستكشف بعض الميزات المتقدمة للأمر ps وكيف يمكن استخدامها بفعالية:

1. فرز العمليات

يمكن استخدام الأمر ps aux لفرز الإخراج النهائي بناءً على أعمدة مختلفة. على سبيل المثال، يمكنك فرز العمليات حسب معرف العملية أو استخدام وحدة المعالجة المركزية لرؤيتها بالترتيب المطلوب.

فيما يلي مثال لعمليات الفرز بناءً على معرف العملية باستخدام ps aux:

ps aux –-sort pid

يتم استخدام الأمر head للحصول على الصفوف الخمسة الأولى فقط من الإخراج.

ps aux نوع pid

2. تصور شجرة العملية

إذا كنت تريد رؤية العلاقة بين العمليات بين الوالدين والطفل بوضوح، فيمكنك استخدام الأمر ps مع خيار الغابة.

ps -aux --forest

العلاقة بين الوالدين والطفل لعمليات Linux

لرؤية العلاقة بين العمليات في نمط يشبه الشجرة، يمكنك أيضًا استخدام الأمر pstree. سيقوم هذا الأمر بإنشاء مخرجات أكثر قابلية للفهم ويوضح التسلسل الهرمي بين العمليات بشكل مثالي. لاستخدام هذا الأمر، اكتب الأمر التالي:

pstree [pid or username]

من خلال إعطاء هذا الأمر معرف عملية (PID)، فإنك تطلب من الأمر اعتبار هذه العملية بمثابة جذر الشجرة.

3. عمليات التصفية

تخيل أنك تريد العمل مع مجموعة محددة من العمليات؛ على سبيل المثال، تريد سرد كافة العمليات الخاصة بأحد المستخدمين. يمكن إجراء عمليات التصفية بناءً على الخاصية باستخدام الأمر ps. في هذا المثال، قمنا بتصفية العمليات بناءً على اسم المستخدم.

ps -u [username]

تصفية عمليات Linux باستخدام الأمر ps

ويمكن للأمر ps aux grep تصفية العمليات بناءً على أي نمط أو كلمة رئيسية تقدمها للأمر. ألق نظرة على الكود أدناه كمثال:

مثال على الأمر ps aux grep

يسرد هذا الأمر أولاً جميع العمليات ويسلم الإخراج إلى الأمر grep لتصفية تلك القائمة الطويلة بناءً على معرف العملية. في الصورة أعلاه، يمكنك رؤية قائمة بجميع العمليات التي تحمل الرقم 15 في معلوماتها.

لمزيد من المعلومات حول الأمر ps وإمكانياته، يمكنك قراءة صفحة الدليل الخاصة بهذا الأمر. سيعرض لك الكود أدناه صفحة الدليل:

man ps

إدارة أولوية المهام في نظام التشغيل Linux

من أجل شرح أفضل لكيفية عمل إدارة العمليات فعليًا في Linux، يجب علينا أيضًا تغطية أولوية العملية وكيفية تغييرها. تخيل موقفًا تقوم فيه بتشغيل العديد من العمليات، وتكون وحدة المعالجة المركزية مثقلة بالمهام. إذا كنت تريد إدارة مواردك لتعمل بشكل صحيح في هذه الحالة، فأنت بحاجة إلى تغيير أولوية المهام قيد التشغيل. كل عملية في Linux لها قيمة الأولوية. تساعد هذه القيمة النواة على تحديد أولويات المهام. يتراوح رقم الأولوية من -20 إلى 19، حيث تكون 19 هي المهمة الأقل أهمية و-20 هي المهمة الأكثر إلحاحًا. تتلقى العملية ذات الأولوية العليا وقتًا أطول لوحدة المعالجة المركزية مقارنة بالعمليات الأخرى. غالبًا ما يُشار إلى القيم ذات الأولوية على أنها قيم "لطيفة"، حيث تظهر القيم الأقل لطيفة أولوية أعلى.

يمكنك استخدام أوامر لطيفة وبسيطة لتخصيص موارد النظام بكفاءة.

ولكن قبل تغيير أولوية العمليات، دعونا نستكشف حالة الاستخدام الأولى للأمر ps.

  • عرض الأولوية الحالية لجميع العمليات باستخدام الأمر ps:

يسرد هذا الأمر جميع العمليات بالإضافة إلى معرفات العملية (PID) وأسماء الأوامر والأولوية الحالية (قيمة لطيفة):

 

ps -eo pid,cmd,nice

الحصول على أولوية كافة العمليات باستخدام الأمر ps

  • بدء عملية ذات أولوية عالية افتراضية باستخدام الأمر Nice:

يمكنك بدء عملية بالأولوية المفضلة لديك باستخدام هذا الأمر:

nice -n [priority] [command]

استبدل [الأولوية] بالقيمة السالبة المطلوبة التي تمثل مستوى الأولوية و[الأمر] بالأمر الذي تريد تنفيذه.

هنا مثال:

بدء عملية ذات أولوية عالية افتراضية

  • تغيير أولوية أمر قيد التشغيل بالفعل:
renice -n [priority] -p [PID]

استبدل معرف العملية الخاص بالعملية التي تريد معالجتها بـ [PID].

إذا كنت ترغب في الحصول على جهاز Linux قوي لأداء جميع أنواع المهام، أ لينكس فس هو الحل الأفضل بالنسبة لك. Cloudzy يقدم العديد من خطط Linux VPS مع التوزيعة المفضلة لديك المثبتة مسبقًا. مع الكثير من الخصائص المفيدة مثل الدعم على مدار الساعة طوال أيام الأسبوع، وسياسة استرداد الأموال لمدة 30 يومًا، وضمان وقت التشغيل بنسبة 99.95%، تمكنت Cloudzy من إبقاء الأسعار منخفضة. تبدأ أسعارنا لـ Linux VPS من 4.95 دولارًا شهريًا فقط.

استضافة Linux VPS

احصل على خادم Linux VPS اقتصادي أو متميز لاستضافة موقع الويب الخاص بك أو سطح المكتب البعيد، بأرخص الأسعار المتاحة. يعمل VPS على Linux KVM لزيادة الكفاءة والعمل على أجهزة قوية مع تخزين NVMe SSD لزيادة السرعة.

اقرأ المزيد

خاتمة

في الختام، يعد إتقان إدارة العمليات والتحكم في النظام أمرًا ضروريًا لمسؤولي النظام، وعشاق Linux الذين يتوقون إلى تعلم المزيد، ومستخدمي Linux العاديين. إن التعرف على إمكانيات ووظائف الأمر ps يمكن أن يسهل طريقك في إدارة عملية التعلم. لهذا السبب ناقشت هذه المقالة حالات الاستخدام المهمة للأمر ps بالإضافة إلى تزويد القراء بمقدمة لعمليات Linux.

التعليمات

ما هو الأمر ps aux في Linux؟

يعد الأمر ps aux Linux أمرًا شائع الاستخدام في Linux للحصول على معلومات حول العمليات الجارية. يمكنه توفير قائمة شاملة بالعمليات بتنسيق سهل الاستخدام، بما في ذلك معرفات العمليات (PIDs) واستخدام وحدة المعالجة المركزية والذاكرة وحالات التنفيذ والتفاصيل الحيوية الأخرى.

ما نوعان من العمليات في Linux؟

العمليات الأمامية والعمليات الخلفية. تشغل العمليات الأمامية الجهاز أثناء التشغيل ولا تسمح بتنفيذ عمليات أخرى. تعمل العمليات الخلفية في الخلفية ولا تشغل الجهاز بأكمله.

كيف يمكنني عرض قائمة العمليات الجارية على نظام Linux الخاص بي؟

يمكن الحصول على قائمة العمليات الجارية على نظام Linux الخاص بك باستخدام أوامر مثل ps أو top أو htop لعرضها. على سبيل المثال، يوفر أمر Linux ps aux معلومات مفصلة حول كافة العمليات قيد التشغيل.

يشارك

المزيد من المدونة

استمر في القراءة.

أفضل التطبيقات ذاتية الاستضافة التي يمكنك تشغيلها باستخدام صورة غلاف Cosmos Cloud مع لوحات التطبيقات حول لوحة معلومات Cosmos.
الخوادم ونظام التشغيل

أفضل التطبيقات ذاتية الاستضافة التي يمكنك تشغيلها باستخدام Cosmos Cloud: الملفات والوسائط وكلمات المرور والأتمتة والمزيد!

ربما قمت بإعداد Cosmos Cloud وتريد الآن معرفة التطبيقات التي تتوافق بشكل جيد معها، أو ربما لم تقرر استخدام Cosmos بعد وتريد فقط معرفة مدى ملاءمتها لأسلوب عملك

نيك سيلفرنيك سيلفر 16 دقيقة قراءة
غطاء Portainer vs Cosmos Cloud لإدارة تطبيقات Docker مع مخطط إعداد مختلط وعمليات نيون مقابل كتل الوصول.
الخوادم ونظام التشغيل

Portainer vs Cosmos Cloud: الأفضل لإدارة تطبيقات Docker

إذا كنت تعرف Docker بالفعل وتريد فقط الطريقة الأنظف لتشغيل حزمة تطبيقات متنامية، فإليك الإجابة المختصرة على Portainer vs Cosmos Cloud. Portainer هو الاختيار الأقوى لـ direc

نيك سيلفرنيك سيلفر 14 دقيقة قراءة
يتميز رسم Cosmos Cloud vs CasaOS vs Umbrel بثلاثة مسارات مستضافة ذاتيًا داخل عالم شبكة سحابية مجردة.
الخوادم ونظام التشغيل

Cosmos Cloud vs CasaOS vs Umbrel: ما هي المنصة ذاتية الاستضافة التي تناسب إعدادك؟

الإجابة المختصرة هي أن نظام CasaOS لا يزال هو أسهل مكان للبدء، بينما يتمتع Umbrel بأنظف إحساس منظم، ويصبح Cosmos Cloud أكثر منطقية عندما تريد تحكمًا أكثر إحكامًا في doma

نيك سيلفرنيك سيلفر 11 دقيقة قراءة

هل أنت مستعد للنشر؟ من 2.48 دولارًا شهريًا.

سحابة مستقلة، منذ عام 2008. AMD EPYC، NVMe، 40 جيجابت في الثانية. استرداد الأموال خلال 14 يومًا.