小结:python3 进程中 获取进程号和杀死进程

遍历搜寻及测试总结三种方法:

 1.

import os,signal

out=os.popen("ps aux | grep xx.py").read()

for line in out.splitlines():
    print(line)
    if 'BcexServices.py' in line:
        pid = int(line.split()[1])
        print(pid)
    os.kill(pid,signal.SIGKILL)

def kill(pid):
    try:
        a = os.kill(pid, signal.SIGKILL)
        print('已杀死pid%s的进程, 返回值是:%s' % (pid, a))

    except OSError:
        print('没有如此进程!!!')

2. 用 psutil 的一种方法,能获取所有pid和name,然后遍历
  pip install psutil
import psutil

def processinfo(processName):
    pids = psutil.pids()
    for pid in pids:
        # print(pid)
        p = psutil.Process(pid)
        # print(p.name)
        if p.name() == processName:
            print(pid)
            return True  # 如果找到该进程则打印它的PID,返回true
    return False  # 没有找到该进程,返回false


processinfo('你的文件名.py')

3.(这是pustil的第二种获取所有pid和进程名的方法)
    
for proc in psutil.process_iter():
    print("pid-%d,name:%s" % (proc.pid,proc.name()))



你可能感兴趣的:(小结:python3 进程中 获取进程号和杀死进程)