Blackhacker نشر 2 فبراير 2016 أرسل تقرير نشر 2 فبراير 2016 حصلت على رقم pid لعملية معينة عن طريقة دالة getpid() من os، وأريد التأكد من وجود هذه العملية بعد مدة معينة، فما الطريقة الصحيحة للتأكد من ذلك؟ اقتباس
0 هشام رزق الله نشر 2 فبراير 2016 أرسل تقرير نشر 2 فبراير 2016 يوجد العديد من الطرق لفعل ذلك بناءا على النظام الذي تستخدمه فإذا كنت تستخدم نظام لينكس فيمكنك في هذه الحالة تمرير رقم 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" اقتباس
السؤال
Blackhacker
حصلت على رقم pid لعملية معينة عن طريقة دالة getpid() من os، وأريد التأكد من وجود هذه العملية بعد مدة معينة، فما الطريقة الصحيحة للتأكد من ذلك؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.