TheBrain نشر 5 مارس 2016 أرسل تقرير مشاركة نشر 5 مارس 2016 أريد إنهاء عملية معينة (مثلا firefox)، في العادة استخدم أوامر ps وkill لفعل ذلك على الطرفية، فهل توجد طريقة مشابهة لفعل ذلك في لغة بايثون؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 هشام رزق الله نشر 5 مارس 2016 أرسل تقرير مشاركة نشر 5 مارس 2016 توجد عدة طرق لفعل ذلك على لينكس، فإذا أردت استخدام أوامر لينكس على بايثون فيمكنك استخدام عدة دوال لفعل ذلك كما في المثال التالي: >>> import subprocess, signal >>> p = subprocess.Popen(['ps', '-A'], stdout=subprocess.PIPE) >>> out, err = p.communicate() >>> for line in out.splitlines(): ... if 'firefox' in line: ... pid = int(line.split(None, 1)[0]) ... os.kill(pid, signal.SIGKILL) ... أما لو أردت استخدام طريقة بايثونية لفعل ذلك فيمكنك استخدام دوال وحدة psutil حيث سندور في قائمة العمليات باستخدام جملة التكرار for مع دالة process_iter من وحدة psutil وسنبحث عن العملية المطلوبة فإذا وجدناها فسنحذفها: import psutil PROCNAME = "python.exe" for proc in psutil.process_iter(): # check whether the process name matches if proc.name() == PROCNAME: proc.kill() اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
TheBrain
أريد إنهاء عملية معينة (مثلا firefox)، في العادة استخدم أوامر ps وkill لفعل ذلك على الطرفية، فهل توجد طريقة مشابهة لفعل ذلك في لغة بايثون؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.