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

السؤال

Recommended Posts

  • 1
نشر

توجد عدة طرق لفعل ذلك على لينكس، فإذا أردت استخدام أوامر لينكس على بايثون فيمكنك استخدام عدة دوال لفعل ذلك كما في المثال التالي:

>>> 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()

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...