执行后立即获取命令的命令的进程ID

时间:2019-09-24 10:29:26

标签: python linux bash shell command

我需要通过python在Linux中执行几个命令,并将命令的过程存储在数据库中,以便在需要时可以将其杀死。对于每个命令,我都应该获取进程ID,并在需要时将其放入数据库中。

我尝试了command & echo$!,这将在输出中返回进程ID。我必须解析输出并获取进程ID。我需要知道运行命令后是否有任何简单的方法来获取进程ID?

以上命令的输出将

[1] 7543745

command output
-
-
-
-
-
-
-
-
-
-

2 个答案:

答案 0 :(得分:1)

在python中使用子流程模块:

import subprocess
p = subprocess.Popen('grep')
print(p.pid)

答案 1 :(得分:0)

尝试以下代码按名称查找进程ID:

import os

process_name = 'Jupyter'
os.system('pgrep -fl {}'.format(process_name))