是否有一种方法可以只使用名称来获取进程的pid,以便将其挂起一段固定的时间

时间:2019-05-20 14:02:58

标签: python operating-system psutil

我需要获取程序的pid才能暂时将其挂起。如何使用仅带有用户名的python获取程序的pid,以便将此pid与psutil一起使用来挂起进程?我们现在就称它为process.exe。

  1. 我尝试将item for itempsuti一起使用。但是,这给了我更多的文字以及pid,而且我不确定如何删除这些不必要的文字。
  2. 我尝试使用os.getpid,但这给了我Python的pid,而不是我想要获得pid的过程。

1。

import psutil
pid = [item for item in psutil.process_iter() if item.name() == 'process.exe']
print(pid)

2。

import os
pid = os.getpid()
print(pid)

对于(1),我希望输出为

pid=x

但是,现在是:

[psutil.Process(pid=x, name='process.exe', started='14:11:40')]

1 个答案:

答案 0 :(得分:0)

在1中,您将接收包含有关过程的所有信息的过程对象,可以使用该过程对象来获取pid:

pid[0].pid

第二次,

  

os.getpid()

返回python解释器的进程ID,在python解释器下几乎没有用,仅在运行某些python脚本获取其进程ID时使用。