اذهب إلى المحتوى
  • 0

كيف أتأكد من وجود عملية معينة عن طريق pid في بايثون؟

Blackhacker

السؤال

Recommended Posts

  • 0

يوجد العديد من الطرق لفعل ذلك بناءا على النظام الذي تستخدمه فإذا كنت تستخدم نظام لينكس فيمكنك في هذه الحالة تمرير رقم pid و 0 إلى دالة kill من os فإذا تم إصدار خطأ من نوع OSError فهذا يعني أن العملية غير موجود والعكس صحيح كما في المثال التالي:

import os

def check_pid(pid):        
    try:
        os.kill(pid, 0)
    except OSError:
        return False
    else:
        return True


أما إذا أردت طريقة تعمل على جميع الأنظمة فيمكنك في هذه الحالة استخدام دالة pid_exists() من وحدة psutil الذي سترجع true إذا كانت العملية موجودة كما في المثال التالي:
 

import psutil
pid = 162732
if psutil.pid_exists(pid):
    print "exists"
else:
    print "doesn't exist"

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...